我有一台可通过 SSH 访问的服务器,它有一个带有一个分区的 3.6TB 硬盘
我想将/
分区缩小到 92GB,并创建一个 8GB 分区,/tmp
并创建另一个分区(3.5TB),/home
但是......我不知道该怎么做。
root@server4 [/etc]# parted /dev/sda unit s print
Model: HP LOGICAL VOLUME (scsi)
Disk /dev/sda: 7813971632s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 2048s 514047s 512000s ext2 boot
2 514048s 7813969919s 7813455872s lvm
root@server4 [/etc]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root vg -wi-ao---- 3.61t
swap vg -wi-ao---- 23.62g
tmp vg -wi-ao---- 1.00g
CentOS 6.7 x86_x64
答案1
以下信息摘自https://rbgeek.wordpress.com/2013/02/11/how-to-reduce-the-root-partition-in-lvm/这是 CentOS 6.3,但我不明白为什么它不适用于 6.7。
- 启动 CentOS 安装 DVD 并选择 Rescue 选项
- 跳过选项,直到到达可以启动 shell 的位置。 (不允许系统尝试挂载文件系统。)
vgscan
使用以下命令在救援环境中启用 LVMvgchange -a y
- 运行
lvdisplay | grep Path
并确认要收缩的根分区是/dev/vg/root
- 通过运行确保文件系统是干净的
fsck -f /dev/vg/root
。如果您收到文件系统已安装的警告,请立即停止并且不要继续。 - 将文件系统的大小调整
root
为所需的大小,lvresize --resizefs --size 92G /dev/vg/root
.这可能会重新运行fsck
;没关系。
此时,您的 LVM 分区中应该有足够的空间来扩展和创建新的文件系统
- 将分区大小调整
tmp
为新的可用空间,lvresize --size 8G /dev/vg/tmp
并扩展文件系统fsck -f /dev/root/tmp; resize2fs /dev/root/tmp
- 创建
home
文件系统。我建议您最初将其创建为 1T 而不是整个磁盘,因为以后很容易增加文件系统和分区的大小。跑步lvcreate --name home --size 1T /dev/vg
- 在新文件系统上创建文件系统
mkfs -t ext3 -L home /dev/vg/home
。如果您可以ext4
使用它而不是ext3
文件系统类型 - 退出救援 shell 并重新启动系统
登录并挂载新home
文件系统/mnt/home
mkdir /mnt/home
mount /dev/vg/home /mnt/home
将所有数据从 /home 移动到 /mnt/home
mv /home/* /mnt/home
编辑/etc/fstab
并创建一个新条目/home
。请记住使用ext4
而不是ext3
如果这就是您之前创建文件系统的方式
LABEL=home /home ext3 defaults 0 2
卸载新的主目录文件系统并将其重新安装到它所属的位置
umount /mnt/home
mount /home
再次重新启动以获得良好的效果。至少,注销,但我建议完全重新启动。