新增新磁碟
查詢新增磁碟檔案 /dev/sdb
列出系統當前的塊裝置
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 500G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
├─sda3 8:3 0 99G 0 part
│ ├─vg00-rootvol 253:0 0 210G 0 lvm /
│ ├─vg00-swapvol 253:1 0 2G 0 lvm [SWAP]
│ ├─vg00-homevol 253:2 0 50.3G 0 lvm /home
│ ├─vg00-tmpvol 253:3 0 20.5G 0 lvm /tmp
│ ├─vg00-auditvol 253:4 0 256M 0 lvm /var/log/audit
│ ├─vg00-crashvol 253:5 0 1.9G 0 lvm /var/crash
│ ├─vg00-varvol 253:6 0 102G 0 lvm /var
│ └─vg00-roothomevol 253:7 0 55G 0 lvm
└─sda4 8:4 0 400G 0 part
├─vg00-rootvol 253:0 0 210G 0 lvm /
├─vg00-homevol 253:2 0 50.3G 0 lvm /home
├─vg00-tmpvol 253:3 0 20.5G 0 lvm /tmp
├─vg00-varvol 253:6 0 102G 0 lvm /var
└─vg00-roothomevol 253:7 0 55G 0 lvm
sdb 8:16 0 300G 0 disk
sr0 11:0 1 1024M 0 rom
或者使用 fdisk -l
命令
sudo fdisk -l
對新磁碟 /dev/sdb
進行分割槽
使用 fdisk /dev/sdb
命令進入互動模式
$ sudo fdisk /dev/sdb
Command (m for help):
-
鍵入
n
建立新分割槽 -
鍵入
p
選擇分割槽型別為主分割槽 -
鍵入
1
選擇第一個主分割槽 -
最後選擇起始扇區和結束扇區
起始扇區選擇預設值,直接回車
結束扇區可以使用+size{K,M,G,T,P}
格式,比如+10G
會分配 10GB 空間到第一個主分割槽。如果將整個磁碟空間分配給第一個主分割槽,則直接敲回車。
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039):
Created a new partition 1 of type 'Linux' and of size 20 GiB.
-
鍵入
t
選擇分割槽型別 -
鍵入
1
選擇第一個分割槽 -
鍵入
8e
修改分割槽型別為Linux LVM
Command (m for help): t
Selected partition 1
Partition type (type L to list all types): 8e
Changed type of partition 'Linux' to 'Linux LVM'.
鍵入 p
命令列印當前磁碟裝置的分割槽表
命令(輸入 m 獲取幫助):p
磁碟 /dev/sdb:322.1 GB, 322122547200 位元組,629145600 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標籤型別:dos
磁碟識別符號:0xf143983b
裝置 Boot Start End Blocks Id System
/dev/sdb1 * 2048 629145599 314571776 8e Linux LVM
最後鍵入 w
儲存並退出,或者鍵入 q
不儲存退出。
使用 LVM 管理新磁碟
物理卷操作 (Physical Volume)
檢視物理卷
sudo pvs
sudo pvdisplay
將分割槽 /dev/sdb1
初始化為物理卷
sudo pvcreate /dev/sdb1
刪除物理卷
sudo pvremove -y /dev/sdb1
卷組操作 (Volume Group)
檢視卷組
sudo vgs
sudo vgdisplay
建立卷組 vg00
並使用物理卷 /dev/sda1
和 /dev/sda2
sudo vgcreate vg00 /dev/sda1 /dev/sda2
新增物理卷 /dev/sdb1
到卷組 vg00
sudo vgextend vg00 /dev/sdb1
從卷組 vg00
刪除物理卷 /dev/sdb1
sudo vgreduce vg00 /dev/sdb1
重新命名卷組 vg
為 vg00
sudo vgrename vg vg00
sudo vgrename /dev/vg /dev/vg00
刪除卷組 vg00
sudo vgremove vg00
邏輯卷操作 (Logical Volume)
檢視邏輯卷
sudo lvs
sudo lvdisplay
建立邏輯卷,大小 100G
,名稱為 datavol
,使用卷組 vg00
sudo lvcreate -L 100G -n datavol vg00
建立邏輯卷,大小為卷組所有可用空間,名稱為 datavol
,使用卷組 vg00
sudo lvcreate -l 100%FREE -n datavol vg00
擴充套件邏輯卷大小,新增 50G 空間
sudo lvextend -L +50G vg00/datavol
# 或
sudo lvextend -L +50G /dev/vg00/datavol
擴充套件邏輯卷大小,將所在卷組的剩餘空間全部新增到邏輯卷
sudo lvextend -l +100%FREE /dev/vg00/datavol
減少邏輯卷大小,減少 10G 空間。注意:XFS 檔案系統不支援空間縮減,在 XFS 檔案系統上使此命令會導致邏輯卷損毀。
sudo lvreduce -L -10G vg00/datavol
重新命名卷組 vg00
上的邏輯卷 data
到 datavol
sudo lvrename vg00 data datavol
刪除卷組 vg00
上的邏輯卷 datavol
sudo lvremove vg00/datavol
# Remove all logical volumes in volume group vg00
sudo lvremove vg00
建立邏輯卷後,需要格式化邏輯卷,建立檔案系統
# xfs file system
sudo mkfs.xfs /dev/vg00/datavol
# ext4 file system
sudo mkfs.ext4 /dev/vg00/datavol
增加或減少邏輯卷大小後,需要調整檔案系統大小
使用 mount
命令檢視掛載的檔案系統
mount -l
mount -l -t ext4
mount -l -t xfs
注意:此命令用於 EXT3/4 檔案系統,但不適用於 XFS 檔案系統.
sudo resize2fs /dev/vg00/datavol
增加 XFS 檔案系統的邏輯卷大小後,可以使用以下命令調整檔案系統
sudo xfs_growfs /dev/vg00/datavol
將邏輯卷 datavol
掛載到 /data
sudo mkdir -p /data
sudo mount /dev/vg00/datavol /data
寫入 /etc/fstab
檔案,確保開機自動掛載
# 使用 vi 編輯
$ sudo vi /etc/fstab
/dev/vg00/datavol /data xfs defaults 0 0
# or
/dev/mapper/vg00-datavol /data xfs defaults 0 0
# 使用 echo 新增
$ sudo echo '/dev/vg00/datavol /data xfs defaults 0 0' >> /etc/fstab
檢視主機檔案系統資訊
$ df -h /data
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg00-datavol 120G 34M 120G 1% /data
檢視檔案系統是 XFS 的掛載點
mount -t xfs