交換 /dev/mapper/* 設備
我得到了一個將 /dev/mapper/root 安裝為 / 並映射到 /dev/dm-0 的盒子。它將 /dev/mapper/home 掛載為 /home 並映射到 /dev/dm-2。dm-0設備為5G,dm-2設備為2T。我被要求交換它們:make / 2T 和 /home 5G。我已調整大小、刪除並添加了邏輯卷。有沒有辦法交換邏輯卷?
以防萬一……他們想將其用作數據庫伺服器。數據庫在/var/lib/mysql,在/下,只有5G,已經80%滿了。/home 已滿 1%。
沒有直接的方法可以交換兩個設備,但這不是你需要的。保持
root
as/
和home
as/home
,縮小home
到所需的較小尺寸,並root
使用釋放的空間放大。根據文件系統,您可能需要也可能不需要解除安裝它們來調整它們的大小。Ext4 文件系統在掛載時可以放大,但不能縮小;使用命令
resize2fs
。Btrfs 文件系統可以在掛載時向任一方向調整大小。要收縮 LVM 邏輯卷,請使用
lvreduce
. 確保您不會不小心將其縮小到小於文件系統——這是錯誤操作可能導致數據失去的一個步驟(如果您弄錯了數字,很可能會這樣做)。請注意,對於 LVM,小寫後綴 (k
,m
,g
, …) 使用 1024 的冪,但大寫後綴 (K
,M
,G
, …) 使用 1000 的冪。要擴大 LVM 邏輯卷,請使用lvextend
.例如,使用 ext4:
umount /home resize2fs /dev/mapper/home 5G lvreduce -L 5g /dev/mapper/home # note lowercase g lvextend 2t /dev/mapper/root resize2fs /dev/mapper/root
請注意,如果
/home
真的是 2TB 並且已滿 1%,則它不適合 5GB。相應地調整尺寸。或者,您可能希望將數據庫移動到它自己的文件系統中。為作業系統和大型數據集使用單獨的捲通常是個好主意,因為它們可以有不同的儲存策略(關於冗餘、性能、備份等)。如果該伺服器只是一個數據庫伺服器,那麼它有兩個文件系統是有意義的:(
/
包括/home
不包含比管理員配置文件更多的目錄)和/var/lib/mysql
.