Linux磁盘扩容(非lvm)操作手册

Linux磁盘扩容(非lvm)操作手册

早期Linux 只支持 MBR ,后面支持了MBR和GPT两种类型。
长期使用传统的分区工具一般都是用 fdisk,但是 fdisk 是很早用法,它只支持 MBR(Master Boot Record),并不支持新型的 GPT(GUID Partition Table)类型,不能操作超过2T的磁盘,因此使用gdisk,parted 等分区工具。

1.磁盘查看及新磁盘添加扫描(非关机)

# 服务器文件系统容量
[root@db02 ~]# df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  7.7G     0  7.7G   0% /dev
tmpfs          tmpfs     7.7G     0  7.7G   0% /dev/shm
tmpfs          tmpfs     7.7G  153M  7.6G   2% /run
tmpfs          tmpfs     7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/sda4      xfs        41G  4.5G   36G  11% /
/dev/sda2      xfs      1014M  204M  811M  21% /boot
/dev/sda1      vfat      599M  7.3M  592M   2% /boot/efi
/dev/sdb1      xfs       200G  182G   19G  91% /mysqldata    #文件系统挂载为200G
tmpfs          tmpfs     1.6G     0  1.6G   0% /run/user/0



# 服务器磁盘容量检查
[root@db02 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk
├─sda1   8:1    0  600M  0 part /boot/efi
├─sda2   8:2    0    1G  0 part /boot
├─sda3   8:3    0    8G  0 part [SWAP]
└─sda4   8:4    0 40.4G  0 part /
sdb      8:16   0  200G  0 disk               #磁盘容量为200G
└─sdb1   8:17   0  200G  0 part
sr0     11:0    1   11G  0 rom



# 服务器扫描新增磁盘(在服务器上加入新的磁盘,非关机识别)
[root@db02 ~]# ls /sys/class/scsi_device/
0:0:0:0  0:0:1:0  3:0:0:0
[root@db02 ~]# echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
[root@db02 ~]# echo 1 > /sys/class/scsi_device/0\:0\:1\:0/device/rescan
[root@db02 ~]# echo 1 > /sys/class/scsi_device/3\:0\:0\:0/device/rescan
[root@db02 ~]# lsblk                        # 检查磁盘是否识别
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk
├─sda1   8:1    0  600M  0 part /boot/efi
├─sda2   8:2    0    1G  0 part /boot
├─sda3   8:3    0    8G  0 part [SWAP]
└─sda4   8:4    0 40.4G  0 part /
sdb      8:16   0  300G  0 disk              #磁盘容量为300G
└─sdb1   8:17   0  200G  0 part
sr0     11:0    1   11G  0 rom

2. 非逻辑卷扩容

# 检查类型及容量
[root@db02 ~]# fdisk -l
GPT PMBR size mismatch (419430399 != 629145599) will be corrected by write.
The backup GPT table is not on the end of the device. This problem will be corrected by write.
Disk /dev/sdb: 300 GiB, 322122547200 bytes, 629145600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt                         #类型为gpt
Disk identifier: 8EC899B5-CB0E-451B-A11A-BECBFCEBFD9D

Device     Start       End   Sectors  Size Type
/dev/sdb1   2048 419428351 419426304  200G Linux filesystem


Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 0C766FF6-F4BF-423B-B9E4-4357350A7E10

Device        Start       End  Sectors  Size Type
/dev/sda1      2048   1230847  1228800  600M EFI System
/dev/sda2   1230848   3327999  2097152    1G Linux filesystem
/dev/sda3   3328000  20105215 16777216    8G Linux swap
/dev/sda4  20105216 104855551 84750336 40.4G Linux filesystem

# 卸载服务器挂载的文件系统
[root@db02 ~]# umount /dev/sdb1
[root@db02 ~]# df -h     #检查已经卸载


# 使用parted分区工具,进行磁盘分区
[root@db02 ~]# parted /dev/sdb
GNU Parted 3.2
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) h           #查看帮助,会显示parted的使用
  align-check TYPE N                        check partition N for TYPE(min|opt) alignment
  help [COMMAND]                           print general help, or help on COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  name NUMBER NAME                         name partition NUMBER as NAME
  print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space, all found partitions, or a particular partition
  quit                                     exit program
  rescue START END                         rescue a lost partition near START and END
  resizepart NUMBER END                    resize partition NUMBER
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and copyright information of GNU Parted
(parted) print     #打印查看详细磁盘分区信息        
Warning: Not all of the space available to /dev/sdb appears to be used, you can fix the GPT to use all of the space (an extra 209715200 blocks) or continue with the
current setting?
Fix/Ignore? fix    #重新修正分区信息
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 322GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size   File system  Name     Flags
 1      1049kB  215GB  215GB  xfs          primary

(parted) resizepart   #重置调整分区的大小
Partition number? 1   #输入重置的分区号
End?  [215GB]? 100%   #输入重置分区的大小,“100%”是指剩余的所有分区都划分,也可以输入“322GB”总
(parted) print        #重新查看分区大小
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 322GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size   File system  Name     Flags
 1      1049kB  322GB  322GB  xfs          primary

(parted) quit          #完成退出
Information: You may need to update /etc/fstab.

3.重载及挂载

# 查看当前分区大小
[root@db02 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk
├─sda1   8:1    0  600M  0 part /boot/efi
├─sda2   8:2    0    1G  0 part /boot
├─sda3   8:3    0    8G  0 part [SWAP]
└─sda4   8:4    0 40.4G  0 part /
sdb      8:16   0  300G  0 disk
└─sdb1   8:17   0  300G  0 part
sr0     11:0    1   11G  0 rom


# 磁盘挂载
[root@db02 ~]# mount /dev/sdb1 /mysqldata/
[root@db02 ~]# df -Th | grep mysqldata   #查看容量为200G
/dev/sdb1      xfs       200G  147G   53G  74% /mysqldata


#重新检查容量,刷新检查
[root@db02 ~]# xfs_growfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=13107072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=0 inobtcount=0
data     =                       bsize=4096   blocks=52428288, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=25599, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 52428288 to 78642939
[root@db02 ~]# df -Th | grep mysqldata
/dev/sdb1      xfs       300G  148G  153G  50% /mysqldata
[root@db02 ~]#


#测试文件系统的可用性(至此完成扩容)
[root@db02 ~]# echo 123 > /mysqldata/test.txt
[root@db02 ~]# ls /mysqldata/
backup  data  test.txt  zabbix0.sql
[root@db02 ~]# cat  /mysqldata/test.txt
123
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux磁盘扩容LVM是一种常见的操作,可以通过以下步骤实现: 1. 确认磁盘空间:使用df -h命令查看当前磁盘空间使用情况,确认需要扩容磁盘。 2. 扩展物理卷:使用fdisk或parted等工具将磁盘扩容,然后使用pvresize命令将物理卷扩容。 3. 扩展逻辑卷:使用lvextend命令将逻辑卷扩容。 4. 扩展文件系统:使用resize2fs命令将文件系统扩容,使其能够使用新的磁盘空间。 需要注意的是,在进行磁盘扩容操作前,一定要备份重要数据,以免数据丢失。 ### 回答2: LinuxLVM(逻辑卷管理)是一种强大的磁盘分区技术,它可以让使用者在运行中增加或减少存储容量而无需中断系统运行。当LVM的一个逻辑卷(LV)或卷组(VG)的存储容量不足时,我们需要对其进行扩容。本文将介绍如何使用LVM来扩充一个逻辑卷或卷组的存储容量。 首先,我们需要确认我们要扩容的卷组类型。LVM支持物理卷(PV)、卷组(VG)和逻辑卷(LV)。使用`pvscan`可以列出当前系统中存在的物理卷,使用`vgscan`可以列出当前存在的卷组,使用`lvscan`可以列出当前存在的逻辑卷。 假设我们要扩容的卷组名为`vgdata`,使用`vgdisplay vgdata`可以查看该卷组的状态和属性,包括该卷组的空间大小、已用空间、可用空间等信息。如果我们希望扩充该卷组的存储容量,可以从以下两个方面入手: 1. 添加物理卷 我们可以向该卷组添加更多未使用空间的物理卷,这样就可以扩大该卷组的总容量。首先使用`fdisk`创建新的分区磁盘,格式化该分区磁盘,并使用`pvcreate`将其添加为物理卷。然后使用`vgextend`命令将该物理卷添加到卷组中,并使用`lvextend`命令扩展逻辑卷的大小。 2. 调整逻辑卷大小 如果该卷组没有未使用空间的物理卷,我们可以考虑通过调整逻辑卷的大小来扩容。我们可以使用`lvextend`命令来增加逻辑卷的大小,例如: ``` lvextend -L +10G /dev/vgdata/lvdata ``` 其中,`-L` 参数表示要增加的容量,`+10G` 表示增加10GB的容量,`/dev/vgdata/lvdata` 表示要调整大小的逻辑卷。 完成逻辑卷的扩容后,我们需要使用`resize2fs`或其他适当的文件系统调整工具将文件系统的空间大小与逻辑卷的容量大小同步。 总的来说,使用LVM扩容逻辑卷或卷组的存储容量常简单和方便,只需要按照上述步骤进行即可。 ### 回答3: Linux操作系统中,LVM(逻辑卷管理)是一种虚拟化存储技术,用于管理物理磁盘的逻辑卷。当需要增加存储空间时,LVM提供了磁盘扩容的功能,允许将一个物理磁盘中的空间增加到一个或多个逻辑卷中。该过程需要在Linux系统中依次执行以下步骤: 1. 查看当前系统中的物理磁盘和逻辑卷。可以使用命令 "fdisk -l" 和 "lvdisplay" 进行查看。 2. 挂载需要扩容的物理磁盘。可以使用命令 "vgchange -ay" 将该物理磁盘挂载到系统中。其中,"vgchange" 是指改变卷组状态,"-a" 选项将所有的卷组标记为活跃状态,"-y" 选项表示不需要用户确认。 3. 扩展卷组。可以使用命令 "vgextend" 或 "vgresize" 进行扩展。其中,"vgextend" 是指添加卷组的物理卷路径,"vgresize" 用于调整卷组的大小。 4. 扩展逻辑卷。可以使用命令 "lvextend" 对需要扩展的逻辑卷进行扩容。其中,"-L" 选项用于指定新的逻辑卷大小,"-r" 选项表示对文件系统进行扩容。 5. 调整文件系统大小。如果需要扩大文件系统,可以使用命令 "resize2fs" 或 "xfs_growfs" 进行调整。例如,如果使用的是ext 文件系统,则可运行 "resize2fs" 命令进行磁盘扩容,如果使用的是XFS文件系统,则需运行"xfs_growfs" 命令。 6. 最后检查磁盘使用情况,确保扩容生效。可使用命令 "df -h" 进行查看。 总之,Linux磁盘扩容LVM是一项相对复杂的操作,需要一定的操作技巧,但可以解决磁盘容量不足的问题,提高系统性能。若是纯文本来回答,可能有所不足和不够详细,因此请多包涵指正。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值