2017年3月8日 星期三

Linux LVM (建立、擴充、移除LVM磁區) 操作筆記

一、建立新的LVM磁區(建立順序:PV、VG、LV)

使用 LVM 可在分割磁區時不必一次分割大量空間給各個 Partition,等日後哪個磁區空間不足時再分配之前未分配的空間或新增一顆硬碟來配給使用。

確認是否有安裝 LVM 套件:
rpm -qa lvm2

如果沒有需先安裝 lvm2 套件:
yum install -y lvm2

step:
1. 列出磁碟資訊
# fdisk -l

2. 進入磁碟分割功能
# fdisk /dev/sdb
Command (m for help): l     <--列出磁碟格式表

3. 新建一個磁區
Command (m for help): n     <--新建一個磁區 (磁區大小:20480M)

4. 變更磁碟格式 ID
Command (m for help): t     <--輸入 8e (8e磁碟格式 LVM)

5. 儲存磁區設定 & 離開磁碟格式功能
Command (m for help): w

6. 更新 Linux Kernel 分割表資訊,讓新 partition 不需重開機即可生效
# partprobe
或者
# partprobe /dev/sdb1

7. 建立 PV
# pvcreate /dev/sdb1
或者幾個磁區建立 PV
pvcreate /dev/sdb1 /dev/sdc1

8. 建立 VG
# vgcreate <vg_name> /dev/sdb1
或幾個 PV 建成一個 VG:
# vgcreate <vg_name> /dev/sdb1 /dev/sdb2/dev/sdc1

9. 建立 LV
# lvcreate -L 20476M -n testlv01 testvg    ### lvcreate -L 20476M(磁區大小) -n testlv01(LV名稱) testvg(VG名稱)
磁區大小數值會有些差異,要自己測試一下才能把剛才分割的 20GB 完全用掉。

10. 格式化 LV 磁區
查詢 LV 路徑:
# lvdisplay
格式化 testlv01
# mkfs.xfs /dev/testvg/testlv01

11. 建立掛載 LV 磁區的目錄
# mkdir /lvmdata
# mount /dev/testvg/testlv01 /lvmdata

12. 測試,COPY資到 lvmdata 底下,利用 df -h 查看變化
# df -h

補充指令:pvdisplay, vgdisplay, lvdisplay, pvscan, vgscan, lvscan



二、將 testvg 從 20480M 再加 20480M,總空間變為 40GB (將新的 PV 空間或未分配的磁碟空間加入已存在的 VG)
利用上面未分配的磁碟空間繼續作下面的練習:
1. 進入磁碟分割功能
# fdisk /dev/sdb
新增一顆硬碟
# fdisk /dev/sdc

2. 新建二個磁區
Command (m for help): n     <--利用之前未配置的空間再新建一個磁碟 (磁碟大小:20480M)

3. 變更磁碟格式 ID
Command (m for help): t     <--輸入 8e (8e磁碟格式 LVM)
因剛才又新增一個分割區,所以這邊要指定變更第2個分割區的磁碟格式 ID

4. 儲存磁區設定&離開磁碟格式功能
Command (m for help): w

5. 更新 Linux Kernel 分割表資訊,讓新 partition 不需重開機即可生效
# partporbe
# fdisk -l

6. 將分割好的磁區加入己存在的 VG
# vgextend testvg /dev/sdb2 /dev/sdc1   (testvg 是已存在的 VG)

7. 觀察 VG 磁區大小變化,原本 20GB 增加 sdb2,sdc1 後變為 60GB
# vgdisplay



三、將 testlv01 從 20480M 擴充加大到30720M (利用新加入的 VG 來擴大 LV)
1. 增加10G磁區空間到 testlv01
lvresize -L +10240M /dev/testvg/testlv01

2. 上圖己經成功增加 LV 磁區空間,但還必須用 xfs_growfs 讓 testlv01 檔案系統擴大
# xfs_growfs /dev/testvg/testlv01     #(xfs磁碟格式指令) 



四、移除 testlv01、testvg、pv (移除 LVM 空間依循步驟)
1. umount /lvmdata
2. lvremove /dev/testvg/testlv01
3. vgchange -an testvg      # vgchange -an <VG_name> 讓 VG 不具有 Active 標誌
4. vgremove testvg
5. pvremove /dev/sdx#


、縮小 LVM 空間 (縮小 LVM 空間前必須備份資料,否則資料將會移失)
1. 縮小 LV 空間
lvresize -L -512M /dev/testvg/testlv01

1.1 利用 lvdispaly 觀察 LV 空間
# lvdisplay

2. 縮小 VG 空間
# umount /lvmdata
# lvremove /dev/testvg/testlv01
# vgreduce testvg /dev/sdb2

2.1 利用 vgdispaly 觀察 LVM 變化
# vgdisplay
# pvdisplay


LVM 指令列表:

沒有留言:

張貼留言

Nutanix平台虛擬機(UBUNTU),利用Veeam備份移轉至VMware平台,安裝套件、系統更新出現錯誤

 mount: /var/lib/grub/esp: special device /dev/disk/by-id/scsi-SNUTANIX_VDISK_NFS_4_0_7672_2d41cbaa_025e_4fac_849c_9e620eff5bff-part1 does n...