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