介紹了一個新硬碟建立lvm并自動挂載的過程
linux伺服器新添加一塊硬碟,可以直接将盤格式化挂載就能用,比如挂載在/usr/local目錄,但是這樣有一個弊端,就是如果這一塊磁盤滿了,後續想要擴容的話,不能繼續挂載這個/usr/local挂載點上,對擴容造成一定的麻煩,為此我們建議采用lvm的方式,這樣可以支援動态擴容磁盤。下面介紹詳細的操作方式。
1,檢視新增的磁盤,需要使用root權限
fdisk -l
看到有一個新增的100G磁盤

2,對磁盤進行分區
fdisk /dev/xvdb
1,輸入:n
表示建立一個新的分區(new的意思)
2,輸入:p
表示建立一個基本分區(p是基本分區,e是擴充分區)
3,選擇分區編号,1~4,預設使用1,直接按回車即可。
4,選擇分區起始點,使用預設即可,直接按回車。
5,選擇分區終點,使用預設即可,直接按回車。
6,分區完成。
3,更改分區編号
我們需要将分區類型改成linux lvm卷才能建立lvm。
輸入:t
輸入t表示更改分區編号
輸入:L
大寫的L表示檢視所有編号
這裡我們選擇8e
輸入:8e
回車即可
4,儲存退出
輸入:w
表示寫入磁盤(write)
在進行下一步之前,我們說明一下pv、vg、lv的關系。
一個硬碟f分區組成一個pv(實體卷)
一個或者多個pv組成一個vg(卷組)
一個vg可以劃分出多個lv(邏輯卷)
5,建立pv
輸入:pvcreate /dev/xvdb1
此時的磁盤分區是xvdb1,而不是xvdb了。
6,建立vg
輸入:vgcreate vg_group /dev/xvdb1
此處的vg_group是vg組的名字,可以自定義。
檢視建立的vg
輸入:vgdisplay
可以看到已經成功建立
7,建立lv
輸入:lvcreate -L 60G -n vg_usr vg_group
-L後面是要分給lv的大小
-n建立一個名字為vg_usr的lv
使用的vg是vg_group
8,格式化lv
檢視系統的檔案類型
輸入:df -Th
檔案類型是ext4
格式化lv
輸入:mkfs.ext4 /dev/vg_group/vg_usr
mkfs後面是檔案類型。
9,編輯/etc/fstab檔案,建立磁盤開機自動挂載
vim /etc/fstab
在檔案最後加入一行
第一列:要挂載的磁盤
第二列:挂載點
第三列:檔案類型
第四列:挂載選項,詳細參考man mount. 下面列出一些常用的選項:
auto: 系統自動挂載,fstab預設就是這個選項
ro: read-only
rw: read-write
defaults: rw, suid, dev, exec, auto, nouser, and async.
第五列:為dump選項,設定是否讓備份程式dump備份檔案系統,0為忽略,1為備份。
第六列:為fsck選項,告訴fsck程式以什麼順序檢查檔案系統,0為忽略。
10,重新挂載
mount -a
11,檢視是否挂載成功
至此,新磁盤建立lvm已完成,後續可以随時擴容lvm。
20171220更新
擴容lvm
lvextend -L +100G /dev/mapper/vg_group-vg_user
之後使用resize2fs進行更新
resize2fs /dev/mapper/vg_group-vg_user
即可擴容完成
如果resize2fs出現錯誤:
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/mapper/vg_group-vg_user
Couldn't find valid filesystem superblock.
則使用下面的方式
xfs_growfs /dev/mapper/vg_group-vg_user