我在虚拟机内获得了一个 CentOS 9 Linux 发行版服务器,我可以使用ssh
协议(从命令行)连接到该服务器。我正在运行svn checkout
命令以将大小约为 10GB 的远程存储库克隆到我在 CentOS 中的工作区中/home/<user>/my/workspace
,但过了一段时间我得到了:
设备上没有剩余空间
并且手术失败。
如果我运行df -h
命令我会得到:
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 7.7G 0 7.7G 0% /dev/shm
tmpfs 3.1G 1.4M 3.1G 1% /run
efivarfs 256K 31K 221K 13% /sys/firmware/efi/efivars
/dev/mapper/cs-root 9.4G 1.1G 8.4G 11% /
/dev/mapper/cs-usr 7.5G 5.0G 2.5G 67% /usr
tmpfs 1.0G 0 1.0G 0% /tmp
/dev/mapper/cs-var 7.5G 949M 6.6G 13% /var
/dev/sda2 947M 507M 441M 54% /boot
/dev/mapper/cs-var_tmp 1.9G 46M 1.9G 3% /var/tmp
/dev/mapper/cs-opt 7.5G 112M 7.4G 2% /opt
/dev/sda1 571M 7.5M 564M 2% /boot/efi
/dev/mapper/cs-home 7.5G 7.5G 20K 100% /home
/dev/mapper/cs-var_log 3.8G 584M 3.2G 16% /var/log
/dev/mapper/cs-var_log_audit 3.8G 3.3G 524M 87% /var/log/audit
tmpfs 1.6G 28K 1.6G 1% /run/user/974
tmpfs 1.6G 28K 1.6G 1% /run/user/582851889
而且,正如您所见,/home
目录已满100%
(Size
为 7.5G,Used
为 7.5G,Avail
为 20K)。
如何增加可用空间以svn checkout
使命令成功执行?
此外,命令的输出lsblk
是:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 1T 0 disk
├─sda1 8:1 0 572M 0 part /boot/efi
├─sda2 8:2 0 953M 0 part /boot
├─sda3 8:3 0 54.2G 0 part
│ ├─cs-root 253:0 0 9.3G 0 lvm /
│ ├─cs-swap 253:1 0 3.7G 0 lvm [SWAP]
│ ├─cs-usr 253:2 0 7.5G 0 lvm /usr
│ ├─cs-opt 253:3 0 7.5G 0 lvm /opt
│ ├─cs-home 253:4 0 7.5G 0 lvm /home
│ ├─cs-var_log_audit 253:5 0 3.7G 0 lvm /var/log/audit
│ ├─cs-var 253:6 0 7.5G 0 lvm /var
│ ├─cs-tmp 253:7 0 2G 0 lvm
│ ├─cs-var_log 253:8 0 3.7G 0 lvm /var/log
│ └─cs-var_tmp 253:9 0 1.9G 0 lvm /var/tmp
└─sda4 8:4 0 1M 0 part
sr0 11:0 1 1024M 0 rom
命令的输出vgs
是:
VG #PV #LV #SN Attr VSize VFree
cs 1 10 0 wz--n- <54.18g 4.00m
命令的输出parted -l
是:
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 1100GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 601MB 600MB fat32 EFI System Partition boot, esp
2 601MB 1600MB 999MB xfs
3 1600MB 59.8GB 58.2GB lvm
4 59.8GB 59.8GB 1049kB bios_grub
我的想法是从磁盘中获取未分配的空间/dev/sda
并分配大约 50GB(或更多)的空间给/home
。
由于我对 Linux 上的磁盘分区和管理还不熟悉,这是个好主意吗?我该如何实现这一点?
以下是一种常见的扩展方法,假设磁盘上有更多可用空间。不过,还有很多其他方法,具体取决于您希望如何组织:
fdisk
使用或parted
在 sda 或任何有可用空间的地方 添加新分区。parted -l
pvcreate /dev/sda5
vgextend cs /dev/sda5
lvextend /dev/cs/home /dev/sda5
您可能希望限制新分区的大小。通过这种方式很容易增加空间,但如果您以后想再次调整分区大小,则通常很难将其缩小。
如果分区使用 MBR(如图所示
Partition Table: msdos
)parted -l
,则可能限制为 4 个分区。有一些简单的方法可以解决这个问题,但值得一提的是,以防您在第 1 步遇到问题由于卷组
cs
可用空间已4.00m
(几乎已满),我通过以下方式解决:1.创建新分区
由于
/dev/sda
磁盘有大量未分配空间,我可以为该磁盘创建一个新的分区:在弹出的对话框中,按
n
(新分区)、p
(分区类型为主)、5
(分区号)default first sector
、+/-<size>{K,B,M,G,...}
(分区空间,在我的情况下我可能会分配+50G
)。然后按更改分区类型t
,然后8e
将分区类型设置为Linux LVM。最后,使用保存更改w
2. 创建物理卷(PV)
创建物理卷:
使用以下方法验证操作
sudo pvs
3.扩展卷组(VG)
扩展卷组
cs
:使用以下方法验证操作
sudo vgs
4.扩展逻辑卷(LV)
扩展逻辑卷并调整文件系统大小
cs-home
:我可以使用
-l +<percentage>%FREE
而不是-L
。请注意-r
[调整底层文件系统和逻辑卷的大小] 的标志 [1]。使用以下方法验证操作sudo df -h
由于我正在扩展现有的LV,因此我不需要格式化文件系统并挂载它。