1、查看硬盤分區信息
# fdisk -l
查看未格式化的分區
# parted -l 可以查看未掛載的文件系統類型,以及哪些分區尚未格式化
# lsblk -f 可以查看未掛載的文件系統類型
2、格式化分區
# parted /dev/vdb
# mklabel gpt
# mkpart primary xfs 0% 100%
# set 1 lvm on //set:添加標誌;1:爲分區編號;lvm:標誌;on:開啓
# print //查看分區表
# quit
如硬盤小於2T則使用如下命令:
# fdisk /dev/vdb
Command (m for help): m
Command (m for help): n
Select (default p): p
Command (m for help): w
3、創建邏輯卷組
(1)初始化分區vdb1爲物理卷pv
# pvcreate /dev/vdb1 //初始化
# pvdisplay //顯示物理卷信息
--- Physical volume ---
PV Name /dev/vdb1
VG Name VolGroup00
PV Size <4.00 TiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1048575
Free PE 0
Allocated PE 1048575
PV UUID OsEekg-IwBU-zAjv-sl4D-5p4V-2kTp-82Loqn
(2)創建邏輯卷組vg,將/dev/vdb1物理卷加入到這個卷組裏(VolGroup00爲自定義的名字)
# vgcreate VolGroup00 /dev/vdb1 //創建邏輯卷組
# vgdisplay VolGroup00 -v //顯示卷組信息
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <4.00 TiB
PE Size 4.00 MiB
Total PE 1048575
Alloc PE / Size 1048575 / <4.00 TiB
Free PE / Size 0 / 0
VG UUID KhVEIT-UAnm-Mowf-Cz7e-AQ8h-7Q1P-V5cIIr
注:使用vgdisplay顯示有關邏輯卷的信息,如上所示,看到卷組可用的空間爲4T,爲什麼提示空間不夠呢?其實正在的原因:可用的PE數量是1048575,而每個PE大小是4.00MiB,所以其實這個卷組實際的可用空間其實不是4T,而是1048575*4/1024 = 4095.99609375G
(3)創建邏輯卷LV,名稱LogVol00,由卷組VolGroup00提供空間,並給他指定擁有4095.996G的LogVol00爲自定義的名字)
# lvcreate -L +4095.996G -n LogVol00 VolGroup00
# lvdisplay //顯示邏輯卷信息
4、格式化邏輯分區,格式 xfs
# mkfs.xfs /dev/VolGroup00/LogVol00
如要格式化爲ext4格式使用如下命令
# mkfs.ext4 /dev/VolGroup00/LogVol00
5、掛載邏輯卷分區
(1)將/dev/mapper/VolGroup00-LogVol00這個邏輯卷掛在到/data文件下
# mount -t xfs /dev/mapper/VolGroup00-LogVol00 /data
如是ext4文件格式使用如下命令:
# mount -t /dev/mapper/VolGroup00-LogVol00 /data
(2)設置開機自動掛載
# blkid //得到新建lvm分區信息
/dev/mapper/VolGroup00-LogVol00: UUID="defa1975-5186-4c34-9200-615f258b8e7e" TYPE="xfs"
# vi /etc/fstab
UUID=defa1975-5186-4c34-9200-615f258b8e7e /data xfs defaults 0 0
# df -Th
6、動態擴容分區
# fdisk -l
# parted /dev/vdc
# mklabel gpt
# mkpart primary xfs 0% 100%
# set 1 lvm on
# print //查看分區表
# quit
# pvcreate /dev/vdc1 //初始化分區
# vgextend VolGroup00 /dev/vdc1 //將初始化過的分區加入VolGroup00虛擬卷組
# vgdisplay VolGroup00 -v //查看邏輯組信息
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <8.00 TiB
PE Size 4.00 MiB
Total PE 2097150
Alloc PE / Size 2097150 / <8.00 TiB
Free PE / Size 0 / 0
VG UUID KhVEIT-UAnm-Mowf-Cz7e-AQ8h-7Q1P-V5cIIr
# lvextend -L +4095.996G /dev/mapper/vg_storage-lv_data //擴展已有卷的容量
# pvdisplay //查看卷容量
--- Physical volume ---
PV Name /dev/vdb1
VG Name VolGroup00
PV Size <4.00 TiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1048575
Free PE 0
Allocated PE 1048575
PV UUID OsEekg-IwBU-zAjv-sl4D-5p4V-2kTp-82Loqn
--- Physical volume ---
PV Name /dev/vdc1
VG Name VolGroup00
PV Size <4.00 TiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1048575
Free PE 0
Allocated PE 1048575
PV UUID 7Kn3JV-bgzp-CshD-EBkP-0cro-xiP2-lY1w4x
# xfs_growfs /dev/mapper/VolGroup00-LogVol00 //擴容文件系統
注:如分區格式爲ext4此處使用 resize2fs /dev/mapper/VolGroup00-LogVol00
# df -Th
LVM其他操作
(1)刪除一個vg
# vgchange -a n VolGroup00
# vgremove VolGroup00
(2)從vg中刪除pv
# pvdisplay //查看確保pv不被lv使用
如果pv已經被使用,需要使用pvmove命令把pv的數據遷移到另外空閒的pv
# pvmove /dev/sda /dev/sdb
# vgreduce VolGroup00 /dev/sda //刪除pv
(3)刪除一個LV
# umount /dev/VolGroup00/LogVol00
# lvremove /dev/VolGroup00/LogVol00
lvremove -- do you really want to remove "/dev/VolGroup00/LogVol00"? [y/n]: y
lvremove -- doing automatic backup of volume group "VolGroup00"
lvremove -- logical volume "/dev/myvg/homevol" successfully removed