如何更改正在运行的 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);这似乎适用于乌班图

然后,一个建议:在正在运行的服务器上尝试其中任何一项之前,最好创建一个具有匹配配置(可能较小的磁盘)的虚拟机,以测试在将该虚拟机应用到您的真实系统之前对其进行任何更改!

相关内容