在 Debian Linux 里“压缩卷” - shrink partion

原文链接:点击打开链接

环境:Debian 9,例子中,将阿里ECS服务默认的系统盘,40GB的/dev/vda1,划成30GB的/dev/vda1和10GB的/dev/vda2。 
 
过程: 
 
1. df -h # 查看当前的磁盘使用情况,/dev/vda1 是40GB 
  
2. on-line shrinking not supported # 尝试直接运行resize2fs来压缩,提示错误,不允许对正在使用的分区进行压缩操作 
  
3. vi /etc/initramfs-tools/hooks/resizefs # 创建好脚本,复制好resize2fs 

  1. #!/bin/sh
  2.    set -e
  3.    PREREQS=""
  4.    prereqs() { echo "$PREREQS"; }
  5.    case $1 in
  6.     prereqs)
  7.         prereqs
  8.         exit 0
  9.     ;;
  10.    esac
  11.   . /usr/share/initramfs-tools/hook-functions
  12.    copy_exec /sbin/e2fsck
  13.    copy_exec /sbin/resize2fs
  14.    exit 0
 
4. chmod +x /etc/initramfs-tools/hooks/resizefs # 添加执行权限  
 
5. vi /etc/initramfs-tools/scripts/local-premount/resizefs # 创建好脚本,在挂载/前进行resize2fs操作  
  1. #!/bin/sh
  2.    set -e
  3.    PREREQS=""
  4.    prereqs() { echo "$PREREQS"; }
  5.    case "$1" in
  6.     prereqs)
  7.         prereqs
  8.         exit 0
  9.     ;;
  10.    esac
  11.    /sbin/e2fsck -yf /dev/vda1
  12.    /sbin/resize2fs /dev/vda1 30G
  13.    /sbin/e2fsck -yf /dev/vda1
6. chmod +x /etc/initramfs-tools/scripts/local-premount/resizefs # 添加执行权限  
 
7. update-initramfs -u -v # 更新系统引导  
 
8. 重启系统后用 df 查看磁盘使用情况  
   
9. fdisk /dev/vda # 用fdisk删除vda1分区,再新建30GB的vda1分区和10GB容量的vda2分区  
 
10. rm /etc/initramfs-tools/hooks/resizefs /etc/initramfs-tools/scripts/local-premount/resizefs # 删除之前的启动脚本  
 
11. update-initramfs -u -v # 更新系统引导  
 
10. 重启系统后,用 fdisk -l 查看,可以看到相应的分区和容量 信息  
 
参考: https://serverfault.com/questions/528075/is-it-possible-to-on-line-shrink-a-ext4-volume-with-lvm  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值