目錄:
- 一、創建和掛載LVM
- 二、擴容LVM分區
- 三、Parted格式化2TB以上的磁盤
Linux LVM(Logical Volume Manager)邏輯卷管理是在Linux2.4內核以上實現的磁盤管理技術。
一、創建和掛載LVM
1、 創建分區
fdisk /dev/sdb # 創建LVM分區
[root@servera ~]# fdisk /dev/sdb Command (m for help): n # add a new partition Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p # 主分區 Partition number (1-4, default 1): # 回車 First sector (2048-10485759, default 2048): # 回車 Last sector, +sectors or +size{K,M,G,T,P} (2048-10485759, default 10485759): # 回車 Created a new partition 1 of type 'Linux' and of size 5 GiB. Command (m for help): t # 修改分區類型,在CentOS8中不用設置為 8e也可以 Selected partition 1 Hex code (type L to list all codes): 8e # LVM類型 Changed type of partition 'Linux' to 'Linux LVM'. Command (m for help): w # 保存配置 The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. [root@servera ~]# fdisk -l Disk /dev/vda: 10 GiB, 10737418240 bytes, 20971520 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x16a1e057 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 20971486 20969439 10G 83 Linux Disk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x03864530 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 10485759 10483712 5G 8e Linux LVM
2、創建PV(Pysical Volume)
pvcreate /dev/sdb1 # 將sdb1 初始化為物理卷
3、創建VG (Volume Group)
vgcreate vg-01 /dev/sdb1 # 創建VG名稱為 vg-01, 並且將卷 sdb1 添加到VG中。
4、創建LV (Logic Volume)
lvcreate vg-01 -n lv-01 -L 2G # 創建LV名稱為 lv-01,指定大小為2G,從名為vg-01的VG中划分。
5、格式化LV
下一步需要對LV進行格式化(使用mksf進行格式化操作),然后LV才能存儲資料
# mkfs.ext4 /dev/vg-01/lv-01
6、掛載LV
將格式化后的LV分區掛載到指定的目錄下,就可以像普通目錄一樣存儲數據了
# mount /dev/vg-01/lv-01 /root/test/
如果要在系統啟動的時候啟動LV,最好是將lvData寫入fstable 文件中,如下所示:
[ root@servera ]# cat /etc/fstab
# <file system> <dir> <type> <options> <dump> <pass>
/dev/mapper/centos-root / xfs defaults 0 0 UUID=f7cde4a6-84e2-4b65-97b3-e44b89934de3 /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0
/dev/vg-01/lv01 /root/test ext4 defaults 1 2
二、擴容LVM分區
1、格式化新磁盤:
# fdisk /dev/sdc # partprobe # 重讀分區表 # mkfs.ext4 /dev/sdc1 # 格式化為 ext4格式 # partx /dev/sdc # 查看當前硬盤的分區表及使用情況
2、創建PV,擴容VG,擴容LV
# pvcreate /dev/sdc1 # vgdisplay #查看當前已經存在的VG信息,以存在VG:VolGroup00為例 # vgextend VolGroup00 /dev/sdc1 #擴展VolGroup00 # lvdisplay #查看已經存在的LV信息,以存在LV:LogVol01為例 # lvextend -L 1G /dev/VolGroup00/LogVol01 #擴展1G到LV中 或者將所有剩余空間全部擴展到LV中 lvextend -l +100%FREE /dev/VolGroup00/LogVol01 # resize2fs /dev/VolGroup00/LogVol01 #執行該重設大小,對於當前正在使用的LogVol01有效 # df -HT #查看掛載情況,已經擴容
# lsblk #查看掛載情況,已經擴容
特別注意的是:
resize2fs命令 針對的是ext文件系統
xfs_growfs命令 針對的是xfs文件系統
------------------------------------------------------------------------------------------
1)ext2/ext3/ext4文件系統的調整命令是resize2fs(增大和減小都支持)
# lvextend -L 120G /dev/mapper/centos-home //增大至120G # lvextend -L +20G /dev/mapper/centos-home //增加20G # lvreduce -L 50G /dev/mapper/centos-home //減小至50G # lvreduce -L -8G /dev/mapper/centos-home //減小8G # resize2fs /dev/mapper/centos-home //執行調整
2)xfs文件系統的調整命令是xfs_growfs(只支持增大)
# lvextend -L 120G /dev/mapper/centos-home //增大至120G
# lvextend -L +20G /dev/mapper/centos-home //增加20G
# xfs_growfs /home //執行調整
就是說:xfs文件系統只支持增大分區空間的情況,不支持減小的情況(切記!!!!!)。
硬要減小的話,只能在減小后將邏輯分區重新通過mkfs.xfs命令重新格式化才能掛載上,這樣的話這個邏輯分區上原來的數據就丟失了。
三、Parted格式化2TB以上的磁盤
通常我們使用fdisk工具來進行磁盤分區,但是fdisk只能格式化小於2TB的磁盤。因此大於2TB的磁盤分區就需要parted工具。
1、設置DiskLable Type
# parted /dev/sdb mklabel gpt
2、創建分區
# parted /dev/sdb mkpart primary 0 100%
3、格式化分區
# mkfs.xfs /dev/sdb1
4、掛載分區
# mount /dev/sdb1 /var/tmp