Linux运维基础交换分区和lvm管理教程

 更新时间:2021年9月7日 00:01  点击:1768

1.交换分区SWAP

交换分区一般指定虚拟内存的大小为实际内存的1~1.5倍。如果实际内存超过8GB,可以直接划分16GB给虚拟内存即可,如果虚拟内存不够用的情况,须增加一个虚拟磁盘,由于不能给原有的磁盘重新分区,所以可以选择新建。

1.1创建swapfile

[root@clq0917 ~]# dd if=/dev/zero of=/opt/www bs=1M count=1024
记录了1024+0 的读入
记录了1024+0 的写出
1073741824字节(1.1 GB)已复制,10.7409 秒,100 MB/秒
[root@clq0917 ~]# 

1.2格式化swap分区

[root@clq0917 ~]# mkswap -f /opt/www
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=9928fe54-9639-4dd9-90ef-82d3f69e94fe
[root@clq0917 ~]# 

1.3检测当前swap分区情况

[root@clq0917 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1840       1304        535          8          1       1115
-/+ buffers/cache:        188       1652
Swap:         2047          0       2047
[root@clq0917 ~]# 

1.4开启新建的SWAP分区

[root@clq0917 ~]# swapon /opt/www
swapon: /opt/www:不安全的权限 0644,建议使用 0600。
//使用权限命令
[root@clq0917 ~]# chown 600 /opt/www
[root@clq0917 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1840       1305        535          8          1       1115
-/+ buffers/cache:        188       1651
Swap:         3071          0       3071//swap分区多出来1G

1.5关闭新建的swap分区

[root@clq0917 ~]# swapoff /opt/www
[root@clq0917 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1840       1304        535          8          1       1115
-/+ buffers/cache:        188       1652
Swap:         2047          0       2047//还原到没有增加虚拟磁盘

1.6给新区增加一个交换分区swap

1.[root@clq0917 ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1f8fccca
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      393215      195584   83  Linux
/dev/sdb2          393216    41943039    20774912    5  Extended
/dev/sdb5          395264      589823       97280   82  Linux swap  ~准备该区为交换分区
2.把分区类型改为82
命令(输入 m 获取帮助):l
 0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris        
 1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx         
 5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据 
 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具      
 8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt         
 9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问       
 a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC  
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
命令(输入 m 获取帮助):t       
分区号 (1,2,5,默认 5):5
Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1f8fccca
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      393215      195584   83  Linux
/dev/sdb2          393216    41943039    20774912    5  Extended
/dev/sdb5          395264      589823       97280   82  Linux swap / Solaris
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
3.更新一下
[root@clq0917 ~]# partprobe /dev/sdb5
4.把sdb5作为交换分区
[root@clq0917 ~]# mkswap /dev/sdb5
正在设置交换空间版本 1,大小 = 97276 KiB
无标签,UUID=d146ac2b-6d08-4b9b-b18d-0b1fc0f3896e
5.启动交换分区
[root@clq0917 ~]# swapon /dev/sdb5
查看
[root@clq0917 ~]# swapon -s
文件名				类型		大小	已用	权限
/dev/dm-1                              	partition	2097148	0	-1
/dev/sdb5                              	partition	97276	0	-2
6.长久保存分区使用
[root@clq0917 ~]# blkid /dev/sdb5
/dev/sdb5: UUID="d146ac2b-6d08-4b9b-b18d-0b1fc0f3896e" TYPE="swap"
[root@clq0917 ~]# vi /etc/fstab
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
UUID="00e35670-d6c9-44d1-8e8c-f52bd71edf59" /mnt  xfs  defaults   0 0
UUID="d146ac2b-6d08-4b9b-b18d-0b1fc0f3896e"  swap swap   defaults 0 0
~                                                                     

2. lvm管理

步骤lvm

1.添加物理磁盘,创建物理卷
2.创建卷组,将物理卷加入卷组
3.在 卷组在划分逻辑卷
4.格式化逻辑卷
5.挂载使用

1.准备物理磁盘(加磁盘参考上一博客)

上一篇链接Linux运维基础系统磁盘管理教程

[root@clq0917 ~]# lsblk |grep "sd[cd]"
sdc             8:32   0   20G  0 disk 
sdd             8:48   0   20G  0 disk 
查看pv创建情况
[root@clq0917 ~]# pvs
  PV         VG   Fmt  Attr PSize  PFree 
  /dev/sda2  rhel lvm2 a--  19.51g     0 
  /dev/sdc        lvm2 a--  20.00g 20.00g
2.创建名字为hongmao的卷组
[root@clq0917 ~]# vgcreate hongmao /dev/sdc
  Volume group "hongmao" successfully created
检查卷组
[root@clq0917 ~]# vgs
  VG      #PV #LV #SN Attr   VSize  VFree 
  hongmao   1   0   0 wz--n- 20.00g 20.00g
  rhel      1   2   0 wz--n- 19.51g     0 
3.创建逻辑卷,分配名称,以及大小,制定卷组
[root@clq0917 ~]# lvcreate -L 1000M -n lv1 hongmao
  Logical volume "lv1" created
 检查逻辑卷
 [root@clq0917 ~]# lvs
lvs     lvscan  
[root@clq0917 ~]# lvscan
  ACTIVE            '/dev/hongmao/lv1' [1000.00 MiB] inherit
  ACTIVE            '/dev/rhel/swap' [2.00 GiB] inherit
  ACTIVE            '/dev/rhel/root' [17.51 GiB] inherit
 4.格式化文件系统
 [root@clq0917 ~]# mkfs.xfs /dev/hongmao/lv1
meta-data=/dev/hongmao/lv1       isize=256    agcount=4, agsize=64000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=256000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
5.临时挂载
[root@clq0917 ~]# mkdir /lv1
[root@clq0917 ~]# mount /dev/hongmao/lv1 /lv1/
[root@clq0917 ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root     18G  1.8G   16G   11% /
devtmpfs                 915M     0  915M    0% /dev
tmpfs                    921M     0  921M    0% /dev/shm
tmpfs                    921M  8.6M  912M    1% /run
tmpfs                    921M     0  921M    0% /sys/fs/cgroup
/dev/sdb1                188M  9.8M  178M    6% /mnt
/dev/sda1                497M   96M  401M   20% /boot
/dev/mapper/hongmao-lv1  997M   33M  965M    4% /lv1

3.卷组管理

扩展卷组,将新磁盘加入卷组

1.新磁盘加入pv
[root@clq0917 ~]# pvcreate /dev/sdd
  Physical volume "/dev/sdd" successfully created
2.使用vgextend扩展
[root@clq0917 ~]# vgextend hongmao /dev/sdd
  Volume group "hongmao" successfully extended
***3将指定的磁盘从卷组中删除(一般不删)
bgreduce hongmao /dev/sdd
4.数据迁移卷组,同一的磁盘才可以进行在线迁移
检查当前逻辑卷vg中pv使用情况
[root@clq0917 ~]# pvs
  PV         VG      Fmt  Attr PSize  PFree 
  /dev/sda2  rhel    lvm2 a--  19.51g     0 
  /dev/sdc   hongmao lvm2 a--  20.00g 19.02g
  /dev/sdd   hongmao lvm2 a--  20.00g 20.00g
pvmove在线数据迁移至其它pv
[root@clq0917 ~]# pvmove /dev/sdc
  /dev/sdc: Moved: 27.6%
  /dev/sdc: Moved: 100.0%
[root@clq0917 ~]# pvs
  PV         VG      Fmt  Attr PSize  PFree 
  /dev/sda2  rhel    lvm2 a--  19.51g     0 
  /dev/sdc   hongmao lvm2 a--  20.00g 20.00g
  /dev/sdd   hongmao lvm2 a--  20.00g 19.02g

4.逻辑卷管理

逻辑卷扩展的容量不能超过卷组的容量

1.增加999M分配给逻辑卷(999 +999是不一样的)
[root@clq0917 ~]# lvextend -L +999M  /dev/hongmao/lv1
  Rounding size to boundary between physical extents: 1000.00 MiB
  Extending logical volume lv1 to 1.95 GiB
  Logical volume lv1 successfully resized
  分配磁盘池至多少百分比给逻辑卷(50%约等于499)
  [root@clq0917 ~]# lvextend -l +50%free /dev/hongmao/lv1
  Extending logical volume lv1 to 20.97 GiB
  Logical volume lv1 successfully resized
***文件系统扩展
xfs--->xfs_growfs /dev/hongmao/lv1
ext--->resize2fs /dev/hongmao/lv1

对ext4文件系统的逻辑卷裁剪容量

首先自己创建一个1G的逻辑卷作为裁剪的对象

lvcreate -n uplooking -L 1G finance
mkfs.ext4 /dev/finance/uplooking
#mkdir -p /finance/uplooking
#mount /dev/finance/uplooking /finance/uplooking/
#cp /etc/host* /finance/uplooking/

1、如果已经挂载,必须先卸载

umount /dev/finance/uplooking

2、裁剪容量,必须是先检测文件系统

e2fsck -f /dev/finance/uplooking
resize2fs /dev/finance/uplooking 512M

3、调整完毕后采取裁剪逻辑卷容量

lvreduce -L 512M /dev/finance/uplooking
WARNING: Reducing active logical volume to 512.00 MiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce uplooking? [y/n]: y

4、强烈建议裁剪后,再次检测文件系统

e2fsck -f /dev/finance/uplooking

5、挂载测试

如果能够挂载,一般说明裁剪成功,文件系统没有损坏

mount /dev/finance/uplooking /mnt

/dev/mapper/finance-uplooking 472M 1.6M 435M 1% /mnt 而且文件系统容量被刷新了

  • 缩减逻辑卷注意事项:
  • 不能在线缩减,得先卸载;
  • 确保缩减后的空间大小依然能存储原有的所有数据;
  • 在缩减之前应该先强行检查文件,以确保文件系统处于一致性状态。
  • 使用命令

e2fsck -f /PATH/TO/LV

以上就是Linux运维基础交换分区和lvm管理教程的详细内容,更多关于Linux运维管理的资料请关注猪先飞其它相关文章!

[!--infotagslink--]

相关文章

  • 在linux中使用包管理器安装node.js

    网上文章中,在linux下安装node.js都是使用源码编译,其实node的github上已经提供了各个系统下使用各自的包管理器(package manager)安装node.js的方法。...2015-03-15
  • Linux中grep命令详解

    grep命令是Linux系统中最重要的命令之一,功能是从文本文件或管道数据流中筛选匹配的行和数据,如果再配合正则表达式,功能十分强大,是Linux运维人员必备的命令,这篇文章主要介绍了Linux中grep详解,需要的朋友可以参考下...2023-02-15
  • Linux安装Pytorch1.8GPU(CUDA11.1)的实现

    这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-25
  • 详解Linux环境变量配置全攻略

    这篇文章主要介绍了Linux环境变量配置全攻略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-03-31
  • Linux 下使用shell脚本定时维护数据库的案例

    这篇文章主要介绍了Linux 下使用shell脚本定时维护数据库,本文通过案例分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • linux服务器快速卸载安装node环境(简单上手)

    这篇文章主要介绍了linux服务器快速卸载安装node环境(简单上手),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-22
  • Linux下升级安装python3.8并配置pip及yum的教程

    这篇文章主要介绍了Linux下升级安装python3.8并配置pip及yum的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-02
  • Linux下安装mysql-8.0.20的教程详解

    这篇文章主要介绍了Linux下安装mysql8.0.20的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-25
  • linux下源码安装mysql5.6.20教程

    这篇文章主要为大家详细介绍了linux下源码安装mysql5.6.20教程的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-15
  • Linux zabbix agent部署及配置方法详解

    这篇文章主要介绍了Linux zabbix agent部署及配置方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-08-21
  • Linux下统计当前文件夹下的文件个数、目录个数

    这篇文章主要介绍了Linux下统计当前文件夹下的文件个数、目录个数,本文使用ls命令配合管理、grep命令实现统计需求,需要的朋友可以参考下...2020-07-11
  • Linux环境下nginx搭建简易图片服务器

    这篇文章主要介绍了Linux环境下nginx搭建简易图片服务器,需要的朋友可以参考下...2016-01-27
  • Linux CentOS MySQL数据库安装配置教程

    这篇文章主要为大家详细介绍了Linux CentOS MySQL数据库的安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-05-19
  • linux网络配置工具的使用

    这篇文章主要介绍了linux网络配置工具的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-03-31
  • Linux下semop等待信号时出现Interrupted System Call错误(EINTR)解决方法

    本篇文章是对在Linux下semop等待信号时出现Interrupted System Call错误(EINTR)的解决方法进行了详细的分析介绍,需要的朋友参考下...2020-04-25
  • Linux下常用压缩格式的压缩与解压方法详解

    这篇文章主要介绍了Linux下常用压缩格式的压缩与解压方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • Fedora14 Linux系统安装Golang开发环境笔记

    这篇文章主要介绍了Fedora14 Linux系统安装Golang开发环境笔记,本文讲解了2种安装方法,需要的朋友可以参考下...2020-05-01
  • linux服务器开机启动oracle的设置方法

    这篇文章主要介绍了linux服务器下oracle开机自启动设置,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • linux上mysql安装详细教程

    这篇文章主要为大家详细介绍了linux上mysql安装详细教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-02-08
  • 如何解决Linux下Too many open files问题

    Too many open files是Linux系统中常见的错误,从字面意思上看就是说程序打开的文件数过多,不过这里的files不单是文件的意思,也包括打开的通讯链接(比如socket),正在监听的端口等等,所以有时候也可以叫做句柄(handle),这个错误通常也可以叫做句柄数超出系统限制。...2021-06-01