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

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运维管理的资料请关注脚本之家其它相关文章!

你可能感兴趣的