关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

Linux下使用fdisk扩大分区容量(不丢失数据)

发布时间:2019-10-12 15:48:52

环境:

模拟新加一块磁盘,并分区,挂载,永久挂载,然后写入数据,然后对分区扩容,测试扩容后分区里面的内容是否丢失。

查看所有分区:

[root @ backup〜]#fdisk  -l
磁盘/ dev / sda:1073.7 GB,1073741824000字节

255个磁头,63个扇区/磁道,130541个柱面
单位=柱面16065 * 512 = 8225280字节
扇区大小(逻辑/物理):512字节/ 512字节
I / O大小(最小/最佳):512字节/ 512字节
磁盘标识符:0x00040b96 
  设备引导启动结束块ID系统
/ dev / sda1 * 1 26 204800 83 Linux 
分区1不在圆柱边界上结束。
/ dev / sda2 26 1070 8388608 82 Linux swap / Solaris 
/ dev / sda3 1070 13055 96263168 83 Linux 
磁盘/ dev / sdb:1073.7 GB,1073741824000字节
255磁头,63个扇区/磁道,130541个柱面
单位= 16065 * 512个柱面= 8225280字节
扇区大小(逻辑/物理):512字节/ 512字节
I / O大小(最小/最佳):512字节/ 512字节
磁盘标识符:0x00000000

开始分区:

[root @ backup〜]  #fdisk / dev / sdb
设备既不包含有效的DOS分区表,也不包含Sun,SGI或OSF磁盘标签

使用磁盘标识符0xc6e44e94构建一个新的DOS disklabel。
更改将仅保留在内存中,直到您决定将其写入为止。
之后,当然,先前的内容将无法恢复。

警告:分区表4的无效标志0x0000将通过w(rite)进行纠正

警告:不建议使用DOS兼容模式。强烈建议
        关闭模式(命令“ c”)并将显示单位更改为
        扇区(命令“ u”)。

命令(m寻求帮助):  p             #p是打印当前磁盘所有分区磁盘/ dev / sdb:1073.7 GB,1073741824000字节
255磁头,63扇区/磁道,130541柱面
单位=柱面16065 * 512 = 8225280字节
扇区大小(逻辑/物理):512字节/ 512字节
I / O大小(最小/最佳):512字节/ 512字节
磁盘标识符:0xc6e44e94 

  设备启动起始端块ID系统

命令(m用于帮助):  n             #n是新建分区命令动作
  e扩展

  p主分区(1-4)p                                   #新建主分区
分区号(1-4):  1           #给主分区编号为1,从1开始编号
第一个柱面(1-130541,默认为1):#回车,交替从1开始,也可以手动输入1 
使用默认值  1                         #开始分区的位置最后一个柱面,+缸或+ size {K,M,G}(1-130541,默认值130541):#直接回车,交替把这里支持K,M,G,如果想给此分区分配100M空间,就输入+ 100M;如果要分配100G那么就输入+ 100GU使用默认值130541#结束分区的位置
Command(m求助):                  #w为写入分区信息并保存,然后退出分区表已更改!调用ioctl()重新读取分区表。

同步磁盘。

查看刚刚分区的信息:/ dev / sdb1

[root @  backup〜]#fdisk -l
磁盘/ dev / sda:1073.7 GB,1073741824000字节

255个磁头,63个扇区/磁道,130541个柱面
单位=柱面16065 * 512 = 8225280字节
扇区大小(逻辑/物理):512字节/ 512字节
I / O大小(最小/最佳):512字节/ 512字节
磁盘标识符:0x00040b96 
  设备引导启动结束块ID系统
/ dev / sda1 * 1 26 204800 83 Linux 
分区1不在圆柱边界上结束。
/ dev / sda2 26 1070 8388608 82 Linux swap / Solaris 
/ dev / sda3 1070 13055 96263168 83 Linux 
磁盘/ dev / sdb:1073.7 GB,1073741824000字节
255磁头,63个扇区/磁道,130541个柱面
单位= 16065 * 512个柱面= 8225280字节
扇区大小(逻辑/物理):512字节/ 512字节
I / O大小(最小/最佳):512字节/ 512字节
磁盘标识符:0xc6e44e94 
  设备启动起始块ID系统
/ dev / sdb1 1 130541 1048570551 83 Linux

格式化分区:mkfs.ext4 / dev / sdb1

[root @ backup〜]#  mkfs.ext4 / dev / sdb1
mke2fs 1.41.12(17-May-2010)
文件系统标签= 
操作系统类型:Linux

块大小= 4096(对数= 2)
片段大小= 4096(对数= 2)步幅= 0块,  
条带宽度= 0块

65536000索引节点,
为超级用户保留262142637块13107131块(5.00%)
第一个数据块= 0 
最大文件系统块= 4294967296 
8000个块组每组32768个块,每组32768个片段每组
8192个inode,
存储在块上的超级块备份:  
       32768、98304 ,163840,229376,294912,819200,884736,1605632,2654208,  
       4096000,7962624,11239424,20480000,23887872,71663616,78675968,  
       102400000,214990848 
写作的inode表:完成创建日志(32768块):doneWriting超级块和文件系统会计信息:  
完成此文件系统将每26个安装一次自动检查一次,或者
180天,以先到者为准。使用tune2fs -c或-i覆盖。

挂载分区:

[root @ backup备份]  #mkdir / backup
[root @ backup备份]  #mount / dev / sdb1 / backup /
[root @ backup备份]  #df -hT使用的
文件系统
      类型大小可用使用百分比安装

/ dev / sda3 ext4 91G 2.2G 84G 3%/ 
tmpfs tmpfs 1.9G 0 1.9G 0%/ dev / shm 
/ dev / sda1 ext4 190M 38M 142M 21%/ boot 
/ dev / sdb1 ext4 985G 72M 935G 1%/备份

挂载磁盘:(永久挂载)

通过vi编辑器编辑/ etc / fstab文件,内容如下,(最后一行是刚添加上去的):

[root @ backup〜]  #cat / etc / fstab

#/ etc / fstab

#由anaconda创建于2018年5月14日星期一02:01:11

#通过引用,可访问文件系统保存在'/ dev / disk'下

#有关更多信息,请参见手册页fstab(5),findfs(8),mount(8)和/或blkid(8)。

#UUID = 7d223255-1b77-4f58-bd72-262928547fcf / ext4默认值1 1

UUID = 284d6b31-8723-497b-bc7b-3c12ede23ee6 / boot ext4默认值1 2 
UUID = 5d36c1b3-df6e-480d-80ca-72befc66f5e9交换交换默认值0 0 
tmpfs / dev / shm tmpfs默认值0 0 
devpts / dev / pt 5,模式= 620 0 0 
sysfs / sys sysfs默认值0 0 
proc / proc proc默认值0 0 
/ dev / sdb1 /备份ext4默认值0 0

第四列挂载参数:通过查看man mount来查看

第五列是否要备份:(0为不备份,1为要备份,一般情况下不用做备份)

第六列自检程序(0为不自检,1或2为要自检,如果是根分区要设置1,其他分区只能是2)

[root @ backup〜 ]#  回声备份> /backup/backup.txt
[root @ backup〜 ]  #cat /backup/backup.txt
 备份


此时机器不关机,用vmware vspere client扩容磁盘大小。

[root @ backup〜]  #fdisk -l / dev / sdb

磁盘/ dev / sdb:1073.7 GB,1073741824000字节

255个磁头,63个扇区/磁道,130541个柱面
单位=柱面16065 * 512 = 8225280字节
扇区大小(逻辑/物理):512字节/ 512字节
I / O大小(最小/最佳):512字节/ 512字节
磁盘标识符:0xc6e44e94 
  设备引导启动结束块ID系统
/ dev / sdb1 1 130541 1048570551 83 Linux

此时发现扩容的磁盘容量看不到,所以还是重启一下吧,建议关机时候再扩容。

[root @      backup〜]#umount / dev / sdb1#取消挂载

[root @ backup〜]  #fdisk / dev / sdb     警告:不建议使用DOS兼容模式。强烈建议

        关闭模式(命令“ c”)并将显示单位更改为
        扇区(命令“ u”)。
命令(m寻求帮助):  p
磁盘/ dev / sdb:1181.1 GB,1181116006400字节
255磁头,63扇区/磁道,143595柱面
单位=柱面16065 * 512 = 8225280字节
扇区大小(逻辑/物理):512字节/ 512字节
I / O大小(最小/最佳):512字节/ 512字节
磁盘标识符:0xc6e44e94 
  设备启动起始块ID系统
/ dev / sdb1 1 130541 1048570551 83 Linux 
命令(m寻求帮助): d         #因为此磁盘只有一个分区sdb1,所以按d删除时候默认不会让选择要删除的分区,如果有多个分区会提示要删除的分区。Selectedpartition 1 
命令(m用于帮助): p         #打印当前分区,发现分区已删除磁盘/ dev / sdb:1181.1 GB,1181116006400字节
255磁头,63扇区/磁道,143595柱面
单位=柱面16065 * 512 = 8225280字节
扇区大小(逻辑/物理):512字节/ 512字节
I / O尺寸(最小/最优的):512个字节/ 512字节
的盘标识符:0xc6e44e94 
  设备引导开始结束块ID系统
命令(M为帮助): ñ         #新建分区命令动作
  è延伸

  p主分区(1-4)                                #新建主分区

分区编号(1-4):  1         #和扩容前的分区分区必须相同

第一个柱面(1-143595,默认值为1):#默认是1,有时要和扩容前的分区其实点一样,扩容前的分区起始也是1,这个是扩容的重点地方。

使用默认值1

最后一个圆柱体,+圆柱体或+ size {K,M,G}(1-143595,默认值143595):#终止的位置是替换为硬盘柱体的尾部,甚至可以,这个是要扩容的点,回车。使用默认值143595。

命令(m寻求帮助): w                            #w报错,并退出。

分区表已更改!调用ioctl()重新读取分区表。

同步磁盘。

3,调整分区

e2fsck -f / dev / sdb1#检查分区信息

resize2fs / dev / sdb1#调整分区大小

[root @     backup〜]#  e2fsck -f / dev / sdb1#由于磁盘容量很大,数据多的情况下需要等待等待

e2fsck 1.41.12(2010年5月17日)第1遍:检查inode,块和大小

步骤2:检查目录结构步骤
3:检查目录连接步骤
4:检查引用计数步骤
5:检查组摘要信息

/ dev / sdb1:12/65536000文件(0.0%非连续),4164250/262142637块

[root @ backup〜]# resize2fs / dev / sdb1      #由于磁盘容量很大,数据多的情况下需要等待等待

resize2fs 1.41.12(2010年5月17日)将/ dev / sdb1上的文件系统调整为288356701(4k)块。

/ dev / sdb1上的文件系统现在为288356701个块。

[root @ backup〜 ]  #mount / dev / sdb1 / backup /

[root @ backup〜 ]  #cat /backup/backup.txt丢失+找到/ 

[root @ backup〜 ]  #cat /backup/backup.txt备份

发现扩容成功,扩容前的内容没有丢失。



/template/Home/Zkeys/PC/Static