Linux LVM卷組管理vim
因爲傳統的磁盤管理不能對磁盤進行磁盤管理,所以誕生了LVM技術,LVM技術最大的特色就是對磁盤進行動態管理。app
因爲LVM的邏輯卷的大小更改能夠進行動態調整,且不會出現丟失數據的狀況。ide
1、LVM基本屬於介紹spa
分類 | 命令 | 說明 | 示例 |
---|---|---|---|
PV | pvcreate | 建立物理卷 | pvcreate /dev/sdb1 |
PV | pvdisplay | 顯示已建立的物理卷的詳細信息 | |
PV | pvs | 顯示已建立的物理卷的彙總信息 | |
PV | pvremove | 刪除物理卷 | pvremove /dev/sdb1 |
VG | vgcreate | 建立卷組 | pvcreate vg1 /dev/sdb1 /dev/sdb2 … |
VG | vgdisplay | 顯示已建立的卷組的詳細信息 | |
VG | vgs | 顯示已建立的卷組的彙總信息 | |
VG | vgextend | 擴展卷組 | vgextend vg1 /dev/sdb3 … |
VG | vgreduce | 收縮卷組 | vgreduce vg1 /dev/sdb5 |
VG | vgremove | 刪除卷組 | vgremove vg1 |
LV | lvcreate | 建立邏輯卷 | lvcreate -L 1000M -n lv1 vg1 |
LV | lvdisplay | 顯示已建立的邏輯卷的詳細信息 | |
LV | lvs | 顯示已建立的邏輯卷的彙總信息 | |
LV | lvresize | 重設邏輯卷大小 | lvresize -L 1000M /dev/vg1/lv1 |
LV | resize2fs | 更新邏輯卷信息(ext4) | resize2fs /dev/vg1/lv1 |
LV | lvremove | 刪除邏輯卷 | lvremove /dev/vg1/lv1 |
LV | xfs_growfs | 更新邏輯卷信息(xfs) | xfs_growfs /dev/vg1/lv1 |
LV | e2fsck | 檢查邏輯卷錯誤(ext4) | e2fsck -f /dev/vg1/lv1 |
-f 強制建立物理卷,不須要用戶確認 -u 指定設備的UUID -y 全部的問題都回答「yes」 -Z 是否利用前4個扇區
-l 卷組上容許建立的最大邏輯卷數 -p 卷組中容許添加的最大物理卷數 -s 卷組上的物理卷的PE大小
-L 指定邏輯卷的大小,單位爲「kKmMgGtT」字節 -l 指定邏輯卷的大小(LE數) -n 後面跟邏輯卷名 -s 建立快照
2、實驗的操做環境操作系統
lvm2
軟件包,具體命令爲:yum install -y lvm2
一、建立LVM3d
【建立過程】code
(1)對新磁盤進行分區操做(fdisk
); blog
(2)逐一變動分區類型爲Linux LVM
(Hex代碼爲:8e
); rem
(3)將物理磁盤初始化爲物理卷PV(pvcreate
);event
(4)將一個或多個物理卷PV轉變爲一個卷組VG(vgcreate
)。
(5)從VG中建立邏輯卷(lvcreate
)。
(6)格式化(mkfs.ext4
/mkfs.xfs
)。
(7)根據實際須要將邏輯卷掛載使用(mount
)。
(8)根據須要對磁盤or邏輯捲進行擴展和縮減。
1.一、先將建立4個分區、3個主分區各2G、1個擴展分區4G。
# 管理/dev/sdb磁盤 fdisk /dev/sdb # 添加主分區/sdb1 給2G空間 n -> p -> 1 -> 空格 -> +2G # 添加主分區/sdb2 給2G空間 n -> p -> 2 -> 空格 -> +2G # 添加主分區/sdb3 給2G空間 n -> p -> 3 -> 空格 -> +2G # 添加擴展分區/sdb4 給4G空間 n -> e -> 4 -> 空格 -> 空格
1.二、轉換分區類型爲8e、8e類型爲LVM。
# 將主分區1轉換爲LVM t -> 1 -> 8e # 將主分區2轉換爲LVM t -> 2 -> 8e # 將主分區3轉換爲LVM t -> 3 -> 8e
1.三、將物理磁盤分區初始化爲物理卷PV
# 爲/dev/sdb1分區 建立PV pvcreate /dev/sdb1 # 爲/dev/sdb2分區 建立PV pvcreate /dev/sdb2 # 爲/dev/sdb3分區 建立PV pvcreate /dev/sdb3
1.四、將一個或多個物理卷PV轉變爲一個卷組VG
# 分區/dev/sdb1 /dev/sdb2 整合爲一個 VG、命名爲 vg1 vgcreate vg1 /dev/sdb1 /dev/sdb2
1.五、從VG中建立邏輯卷。
# 方案1:建立邏輯卷、lvcreate -L 劃分大小 -n 邏輯卷名稱 卷組名稱 lvcreate -L 1G -n lv1 vg1
# 方案2:建立邏輯卷、經過使用vg的PE大小來分邏輯卷,下面-l 分配了100個PE大小的邏輯卷
lvcreate -l 100 -n lv1 vg1
1.六、格式化邏輯卷、並掛載使用
# 格式化、/dev/vg1/lv1 爲卷組建立出的邏輯卷位置 mkfs.ext4 /dev/vg1/lv1 # 掛載邏輯卷使用 掛載到 /mnt 目錄下 mount /dev/vg1/lv1 /mnt
# 查看邏輯卷的UUID:最後一行就是邏輯卷的信息,把該行的UUID複製出來,不含引號。 命令:blkid 例:/dev/mapper/vg1-lv1: UUID="11262806-d796-4f49-8f08-897181e8ec33" # 編輯fstab: 在最後添加一行,輸入以下內容: # 而後保存退出(:wq),重啓後查看結果,若是能正常掛載就沒有問題了。 UUID=11262806-d796-4f49-8f08-897181e8ec33 /mnt ext4 defaults 0 0
1.七、卷組擴容 將/dev/sdb3 添加到 vg1 卷組內
# 將/dev/sdb3 分區添加到vg1卷組內 vgextend vg1 /dev/sdb3
1.八、卷則縮容 將/dev/sdb3 移除 vg1 卷組
命令:pvs PV VG Fmt Attr PSize PFree /dev/sdb1 vg1 lvm2 a-- <2.00g 0 /dev/sdb2 vg1 lvm2 a-- <2.00g 0 /dev/sdb3 vg1 lvm2 a-- <2.00g <2.00g
# 將分區/dev/sdb3 移除 vg1 卷組 vgreduce vg1 /dev/sdb3
1.九、更新邏輯卷狀態
# 更新/dev/vg1/lv1邏輯卷狀態 resize2fs /dev/vg1/lv1
二、完全刪除邏輯卷
2.一、查看掛載、並取消掛載
# 查看掛載 df -mT /dev/mapper/vg1-1v1 ext4 2.6M 907M 1% /mnt # 取消掛載 umount /dev/mapper/vg1-1v1
2.二、刪除掛在記錄
# 刪除/etc/fstab 下掛載信息 vim /etc/fstab ...
2.三、刪除邏輯卷
lvremove /dev/mapper/vg1-1v1
2.四、刪除卷組
vgremove vg1
2.五、刪除物理卷
pvremove /dev/sdb1
pvremove /dev/sdb2