Partition

交換 /dev/mapper/* 設備

  • March 12, 2016

我得到了一個將 /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%。

沒有直接的方法可以交換兩個設備,但這不是你需要的。保持rootas/homeas /home,縮小home到所需的較小尺寸,並root使用釋放的空間放大。

根據文件系統,您可能需要也可能不需要解除安裝它們來調整它們的大小。Ext4 文件系統在掛載時可以放大,但不能縮小;使用命令resize2fsBtrfs 文件系統可以在掛載時向任一方向調整大小

要收縮 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.

引用自:https://unix.stackexchange.com/questions/269158