Linux
如何更改正在執行的 Debian Linux 機器的分區大小?
我有一個專用伺服器(Debian 8),有兩個 1.8T SSD 驅動器作為 RAID 1 執行。在預設配置中,只使用了一小部分磁碟空間,我想修改分區以使用所有內容。
lsblk 的輸出:
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 1.8T 0 disk |-sda1 8:1 0 4G 0 part | `-md1 9:1 0 4G 0 raid1 / |-sda2 8:2 0 2G 0 part [SWAP] `-sda3 8:3 0 1.8T 0 part `-md3 9:3 0 1.8T 0 raid1 |-vg00-usr 253:0 0 5G 0 lvm /usr |-vg00-var 253:1 0 5G 0 lvm /var `-vg00-home 253:2 0 5G 0 lvm /home sdb 8:16 0 1.8T 0 disk |-sdb1 8:17 0 4G 0 part | `-md1 9:1 0 4G 0 raid1 / |-sdb2 8:18 0 2G 0 part [SWAP] `-sdb3 8:19 0 1.8T 0 part `-md3 9:3 0 1.8T 0 raid1 |-vg00-usr 253:0 0 5G 0 lvm /usr |-vg00-var 253:1 0 5G 0 lvm /var `-vg00-home 253:2 0 5G 0 lvm /home
df的輸出:
$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/md1 4095616 283056 3812560 7% / udev 10240 0 10240 0% /dev tmpfs 3287176 98888 3188288 4% /run /dev/dm-0 5029504 1344456 3406520 29% /usr tmpfs 8217932 4 8217928 1% /dev/shm tmpfs 5120 0 5120 0% /run/lock tmpfs 8217932 0 8217932 0% /sys/fs/cgroup none 8217932 0 8217932 0% /tmp /dev/mapper/vg00-var 5029504 573944 4177032 13% /var /dev/mapper/vg00-home 5029504 3001552 1749424 64% /home tmpfs 1643588 0 1643588 0% /run/user/0 tmpfs 1643588 0 1643588 0% /run/user/1000 tmpfs 1643588 0 1643588 0% /run/user/1001
如何使用剩餘的可用空間創建 /data?
由於您擁有 LVM,並且從您所顯示的內容來看,您的捲組中有相當多的未使用空間,您應該能夠使用 lvcreate 添加另一個卷並將其掛載到 /data。您可以以 root 身份使用 vgdisplay 來確認 vg00 中有多少可用。無論如何,這應該工作:
lvcreate -L50G -n data vg00 mkfs.ext4 /dev/mapper/vg00-data #or some other fs type if you prefer
然後在 /etc/fstab 中為新分區添加一行。可能通過 UUID 是最好的。
需要注意的一點是,在上面的命令中,我一開始只為新卷分配 50G,根據我的經驗,這樣做比立即填滿卷組要好得多。安全地增加一個卷(即使它是線上的)比縮小一個卷要簡單得多。當然,通常的警告適用於在接觸數據之前適當地備份數據。您可以使用以下過程調整捲的大小:
lvextend -L+50G /dev/mapper/vg00-data # make it 50G larger reseize2fs /dev/mapper/vg00-data # assuming extfs
在遠端連接上,我建議在 screen/tmux 中發出這些命令,這樣如果您的 ssh 會話中斷,它們就不會冒中途神秘死亡的風險。