Ssh
如何增加我的根音量
我有一台使用軟體 RAID (raid1) 的伺服器,我需要增加我的根分區上的音量。我一直在Google搜尋,但沒有找到如何做到這一點。我有 2x1TB RAID1。
我的 df -h:
Filesystem Size Used Avail Use% Mounted on rootfs 20G 20G 0 100% / /dev/root 20G 20G 0 100% /, devtmpfs 3.9G 4.0K 3.9G 1% /dev none 4.0K 0 4.0K 0% /sys/fs/cgroup none 788M 256K 788M 1% /run none 5.0M 0 5.0M 0% /run/lock none 3.9G 0 3.9G 0% /run/shm none 100M 0 100M 0% /run/user overflow 1.0M 4.0K 1020K 1% /tmp /dev/md3 898G 72M 852G 1% /home
我的 fdisk -l:
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x000e1568 Device Boot Start End Blocks Id System /dev/sdb1 * 4096 40962047 20478976 fd Linux RAID autodetect /dev/sdb2 40962048 42008575 523264 82 Linux swap / Solaris /dev/sdb3 42008576 1953517567 955754496 fd Linux RAID autodetect Disk /dev/sda: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x000a0d60 Device Boot Start End Blocks Id System /dev/sda1 * 4096 40962047 20478976 fd Linux RAID autodetect /dev/sda2 40962048 42008575 523264 82 Linux swap / Solaris /dev/sda3 42008576 1953517567 955754496 fd Linux RAID autodetect Disk /dev/md3: 978.7 GB, 978692538368 bytes 2 heads, 4 sectors/track, 238938608 cylinders, total 1911508864 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 Disk /dev/md3 doesn't contain a valid partition table Disk /dev/md1: 21.0 GB, 20970405888 bytes 2 heads, 4 sectors/track, 5119728 cylinders, total 40957824 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 Disk /dev/md1 doesn't contain a valid partition table
在實時系統上執行此操作非常棘手。您選擇的組織對調整大小非常不靈活。
我的建議是將一些大塊的根分區移動到
/home
並創建一個符號連結。如果你真的想調整大小,這裡有一種方法。我建議先在虛擬機中練習,因為您可能會導致系統無法啟動(如果幸運的話)或失去數據(如果不幸的話)。請確保您的備份是最新的。
- 停止 sshd 以外的所有服務。我們將取消 RAID 同步,並且在此之後
/
或/home
之後對文件進行的任何修改都將失去。- 手動使 RAID 組件失效
/dev/sdb
並將其從陣列中移除。同時關閉交換/dev/sdb2
。mdadm /dev/md1 -f /dev/sdb1 mdadm /dev/md1 -r /dev/sdb1 mdadm /dev/md3 -f /dev/sdb3 mdadm /dev/md3 -r /dev/sdb3 swapoff /dev/sdb2
- 重新分區
/dev/sdb
。我建議您使用更靈活的分區方案和 LVM。這樣你以後想要做的任何調整都會容易得多。製作跨越整個磁碟的單個 RAID 1 卷,交換空間除外。我將假設 RAID 的新卷是/dev/sdb1
並且/dev/sdb2
再次是交換空間。卷的順序無關緊要。- 暫時
/dev/sdb1
使用單個組件作為 RAID 1 卷的一部分。mdadm --create /dev/md4 -l 1 -n 2 missing /dev/sdb2
- 使新的 RAID 捲成為LVM物理卷,並創建一個包含它的捲組。
pvcreate /dev/md4 vgcreate main /dev/md4
- 創建一個具有所需大小的根邏輯卷,以及一個跨越剩餘可用空間的主 LV。
lvcreate --size 40g -n root main lvcreate --size 100%FREE -n home main
/dev/mapper/main_root
在和上創建文件系統/dev/mapper/main_home
。還跑mkswap /dev/sdb2
。- 掛載新的文件系統並將您的數據複製到那裡。
mkdir /media/new_root /media/new_home mount /dev/mapper/main_root /media/new_root mount /dev/mapper/main_home /media/new_home cp -ax / /media/new_root cp -ax / /media/new_home
- 執行
chroot /media/new_root
並將儲存配置更新到新組織。您需要更新/etc/fstab
才能安裝/dev/mapper/main_root
在/home
. 還要註釋掉/dev/sda2
. 您還需要使新系統可引導,這取決於您的引導載入程序。請注意,LILO 和 Grub2 可以從 LVM 引導,但 Grub 0.9x 不能。- 重新啟動到新系統。僅在您在 VM 中完成所有這些步驟並確認它可以工作後才執行此操作!
- 重新分區
/dev/sda
與 相同/dev/sdb
。mkswap /dev/sda2
然後執行swapon /dev/sda2
。您現在可以取消註釋/dev/sda2
in的條目/etc/fstab
。- 添加
/dev/sda1
到新的 RAID1 陣列並讓它在後台同步。mdadm --add /dev/md4 /dev/sda1