IT俱乐部 Linux Linux不丢失数据无损扩容分区操作命令实例

Linux不丢失数据无损扩容分区操作命令实例

目的:

不丢失数据的情况下扩容分区大小。

作用:

在没有lvm的情况下fdisk无损扩容分许大小。
在使用lvm的情况下不想新增pv而是直接扩容pv的大小。
重要提醒:尽管这个方法是无损的,但再三强调务必在执行前进行必要的数据备份,以防止误操作或者其他意外情况下的数据丢失的可能。

方法:

扩容前的信息搜集

特别要注意

扩容对象的起点 # 过程中删除扩容分区后创建新分区的时候所使用的扇区起点必须和之前的分区一致
您想移除该签名吗?是[Y]/否[N]:n #这里务必选N
重要提醒:尽管这个方法是无损的,但再三强调务必在执行前进行必要的数据备份,以防止误操作或者其他意外情况下的数据丢失的可能。

[root@tempvm ~]# 
 [root@tempvm ~]# lsblk
 NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
 sda           8:0    0   50G  0 disk 
 ├─sda1        8:1    0    1G  0 part /boot
 └─sda2        8:2    0   29G  0 part 
   ├─cs-root 253:0    0   26G  0 lvm  /
   └─cs-swap 253:1    0    3G  0 lvm  [SWAP]
 sr0          11:0    1 1024M  0 rom  
 sr1          11:1    1 1024M  0 rom  
 [root@tempvm ~]# 
 [root@tempvm ~]# fdisk -l /dev/sda
 Disk /dev/sda:50 GiB,53687091200 字节,104857600 个扇区
 磁盘型号:VMware Virtual S
 单元:扇区 / 1 * 512 = 512 字节
 扇区大小(逻辑/物理):512 字节 / 512 字节
 I/O 大小(最小/最佳):512 字节 / 512 字节
 磁盘标签类型:dos
 磁盘标识符:0x5b605fe0
 
 设备       启动    起点     末尾     扇区 大小 Id 类型
 /dev/sda1  *       2048  2099199  2097152   1G 83 Linux
 /dev/sda2       2099200 62914559 60815360  29G 8e Linux LVM
 [root@tempvm ~]# 
 [root@tempvm ~]# 
 [root@tempvm ~]#

执行分区扩容

[root@tempvm ~]# fdisk /dev/sda
 欢迎使用 fdisk (util-linux 2.37.4)。
 更改将停留在内存中,直到您决定将更改写入磁盘。
 使用写入命令前请三思。
 This disk is currently in use - repartitioning is probably a bad idea.
 It's recommended to umount all file systems, and swapoff all swap
 partitions on this disk.
 命令(输入 m 获取帮助):m
 帮助:
   DOS (MBR)
    a   开关 可启动 标志
    b   编辑嵌套的 BSD 磁盘标签
    c   开关 dos 兼容性标志
   常规
    d   删除分区
    F   列出未分区的空闲区
    l   列出已知分区类型
    n   添加新分区
    p   打印分区表
    t   更改分区类型
    v   检查分区表
    i   打印某个分区的相关信息
   杂项
    m   打印此菜单
    u   更改 显示/记录 单位
    x   更多功能(仅限专业人员)
   脚本
    I   从 sfdisk 脚本文件加载磁盘布局
    O   将磁盘布局转储为 sfdisk 脚本文件
   保存并退出
    w   将分区表写入磁盘并退出
    q   退出而不保存更改
   新建空磁盘标签
    g   新建一份 GPT 分区表
    G   新建一份空 GPT (IRIX) 分区表
    o   新建一份的空 DOS 分区表
    s   新建一份空 Sun 分区表
 命令(输入 m 获取帮助):p
 Disk /dev/sda:50 GiB,53687091200 字节,104857600 个扇区
 磁盘型号:VMware Virtual S
 单元:扇区 / 1 * 512 = 512 字节
 扇区大小(逻辑/物理):512 字节 / 512 字节
 I/O 大小(最小/最佳):512 字节 / 512 字节
 磁盘标签类型:dos
 磁盘标识符:0x5b605fe0
 设备       启动    起点     末尾     扇区 大小 Id 类型
 /dev/sda1  *       2048  2099199  2097152   1G 83 Linux
 /dev/sda2       2099200 62914559 60815360  29G 8e Linux LVM
 命令(输入 m 获取帮助):d
 分区号 (1,2, 默认  2): 2
 分区 2 已删除。
 命令(输入 m 获取帮助):n
 分区类型
    p   主分区 (1 primary, 0 extended, 3 free)
    e   扩展分区 (逻辑分区容器)
 选择 (默认 p):p
 分区号 (2-4, 默认  2): 2
 第一个扇区 (2099200-104857599, 默认 2099200): 
 #  这里是重要,起点扇区必须与之前记录的起点一致。
 最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2099200-104857599, 默认 104857599): 
 创建了一个新分区 2,类型为“Linux”,大小为 49 GiB。
 分区 #2 包含一个 LVM2_member 签名。
 您想移除该签名吗?是[Y]/否[N]:n
 命令(输入 m 获取帮助):t
 分区号 (1,2, 默认  2): 2
 Hex 代码或别名(输入 L 列出所有代码):8e
 已将分区“Linux”的类型更改为“Linux LVM”。
 命令(输入 m 获取帮助):w
 分区表已调整。
 正在同步磁盘。
 [root@tempvm ~]# 
 [root@tempvm ~]# 
 [root@tempvm ~]#

检查分区扩容结果

[root@tempvm ~]# partprobe /dev/sda    # 即使系统可以自动识别,也强烈建议执行这一步
 [root@tempvm ~]# 
 [root@tempvm ~]# lsblk
 NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
 sda           8:0    0   50G  0 disk 
 ├─sda1        8:1    0    1G  0 part /boot
 └─sda2        8:2    0   49G  0 part 
   ├─cs-root 253:0    0   26G  0 lvm  /
   └─cs-swap 253:1    0    3G  0 lvm  [SWAP]
 sr0          11:0    1 1024M  0 rom  
 sr1          11:1    1 1024M  0 rom  
 [root@tempvm ~]# 
 [root@tempvm ~]# fdisk -l
 Disk /dev/sda:50 GiB,53687091200 字节,104857600 个扇区
 磁盘型号:VMware Virtual S
 单元:扇区 / 1 * 512 = 512 字节
 扇区大小(逻辑/物理):512 字节 / 512 字节
 I/O 大小(最小/最佳):512 字节 / 512 字节
 磁盘标签类型:dos
 磁盘标识符:0x5b605fe0
 设备       启动    起点      末尾      扇区 大小 Id 类型
 /dev/sda1  *       2048   2099199   2097152   1G 83 Linux
 /dev/sda2       2099200 104857599 102758400  49G 8e Linux LVM
 Disk /dev/mapper/cs-root:26 GiB,27913093120 字节,54517760 个扇区
 单元:扇区 / 1 * 512 = 512 字节
 扇区大小(逻辑/物理):512 字节 / 512 字节
 I/O 大小(最小/最佳):512 字节 / 512 字节
 Disk /dev/mapper/cs-swap:3 GiB,3221225472 字节,6291456 个扇区
 单元:扇区 / 1 * 512 = 512 字节
 扇区大小(逻辑/物理):512 字节 / 512 字节
 I/O 大小(最小/最佳):512 字节 / 512 字节
 [root@tempvm ~]# 
 [root@tempvm ~]# 
 [root@tempvm ~]#

如果你的文件系统没有运行在LVM之上,那么到此就可以结束了,下面的步骤针对文件系统建立在LVM之上的情况下(当然,这种是大多数情况)。

对LVS进行扩容

[root@tempvm ~]# 
 [root@tempvm ~]# pvs
   PV         VG Fmt  Attr PSize   PFree
   /dev/sda2  cs lvm2 a--  

将容量grow到文件系统

[root@tempvm ~]# xfs_growfs /
 meta-data=/dev/mapper/cs-root    isize=512    agcount=4, agsize=1703680 blks
          =                       sectsz=512   attr=2, projid32bit=1
          =                       crc=1        finobt=1, sparse=1, rmapbt=0
          =                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
 data     =                       bsize=4096   blocks=6814720, imaxpct=25
          =                       sunit=0      swidth=0 blks
 naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
 log      =internal log           bsize=4096   blocks=16384, version=2
          =                       sectsz=512   sunit=0 blks, lazy-count=1
 realtime =none                   extsz=4096   blocks=0, rtextents=0
 data blocks changed from 6814720 to 12057600
 [root@tempvm ~]# 
 [root@tempvm ~]# 
 [root@tempvm ~]# 
 [root@tempvm ~]# lsblk
 NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
 sda           8:0    0   50G  0 disk 
 ├─sda1        8:1    0    1G  0 part /boot
 └─sda2        8:2    0   49G  0 part 
   ├─cs-root 253:0    0   46G  0 lvm  /
   └─cs-swap 253:1    0    3G  0 lvm  [SWAP]
 sr0          11:0    1 1024M  0 rom  
 sr1          11:1    1 1024M  0 rom  
 [root@tempvm ~]# 
 [root@tempvm ~]# df -hT
 文件系统            类型      容量  已用  可用 已用% 挂载点
 devtmpfs            devtmpfs  4.0M     0  4.0M    0% /dev
 tmpfs               tmpfs     3.8G     0  3.8G    0% /dev/shm
 tmpfs               tmpfs     1.5G   18M  1.5G    2% /run
 /dev/mapper/cs-root xfs        46G  5.1G   41G   12% /
 /dev/sda1           xfs       960M  307M  654M   32% /boot
 tmpfs               tmpfs     766M  100K  766M    1% /run/user/1000
 tmpfs               tmpfs     766M   36K  766M    1% /run/user/0
 [root@tempvm ~]# 
 [root@tempvm ~]#

这里要注意使用的命令是根据文件系统的格式不同而不同的。

xfs格式使用xfs_growfs
etxt使用resize2fs

到此这篇关于Linux不丢失数据无损扩容分区操作命令实例的文章就介绍到这了,更多相关Linux扩容分区内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/server/linux/12182.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部