如何更改正在運行的 Debian 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?

答案1

由於您已經有了 LVM,並且從您所顯示的捲組中顯示出有相當多的未使用空間,因此您應該能夠使用 lvcreate 添加另一個卷並將其安裝在 /data 處。您可以透過使用 vgdisplay 作為 root 來確認 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 會話中斷,它們就不會面臨中途神秘死亡的風險。

答案2

我認為你的要求是相互矛盾的 - 如果你是不是該領域的專家,然後接觸跑步系統聽起來像一個壞的主意。

無論如何,您可以研究各種工具(例如 resize2fs,甚至 gparted);這似乎適用於烏班圖

然後,一個建議:在正在運行的伺服器上嘗試其中任何一項之前,最好先建立一個具有匹配配置(可能較小的磁碟)的虛擬機,以測試在將該虛擬機器應用到您的真實系統之前對其進行任何更改!

相關內容