此处是自己作为学习的笔记的实验操作,也是小白学习过程的理解,请不要直接在正式环境搞。
- [一] 虚拟机扩容分两种:( 方法不同,在虚拟主机操作命令会不一样)
1.在VM管理的硬盘处直接变更,将原磁盘扩大容量(见图1);该方法是直接变更磁盘大小,需要1个前提:没有快照。
2.在VM管理的硬盘处新增硬盘,挂载一块新的磁盘上去(见图2);
原磁盘扩容 图1
新增磁盘扩容 图2
- [ 二] 我理解的大概存储扩容分两种:
1.原存储空间不足需扩大存储到已用存储中 。
(此处又分为两种情况,1是无卷组直接扩容,2是通过卷组扩容);
2.增加成独立分区,分区挂载后形成新的空间。
一、在同一存储盘直接新增扩容,扩大到已用空间中(图1的方法)。
假设我需将同一磁盘下的新增空间扩容至原有空间中:
(一)【无卷组】xfs格式配置,在同一存储盘直接扩容。
参考如下。
df -PTh #(disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
文件-P, --portability 使用 POSIX 输出格式
文件-T, --print-type 显示文件系统的形式
xfs_growfs # XFS格式已被最新的CentOS/RHEL 7采用,成为其默认的文件系统。
xfs_growfs,在大多数Linux默认可用。XFS支持在线调整大小,目标文件系统可以挂载,也可
以不挂载。在已经挂载的情况下可以进行扩展,缩减却还没有支持。
例子:
[root@localhost boot]# xfs_growfs /dev/sda3
meta-data=/dev/sda3 isize=512 agcount=4, agsize=1160384 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=4641536, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 4641536 to 7262976
当前需要扩容/dev/sda3的xfs格式的存储
1)查看当前空间分配情况 lsblk
当前sda总空间27G,sda磁盘分配了3个主分区,其中sda3使用的是 / 目录,使用17G,需要进sda3空间扩容。
2)进入sda磁盘进行设置 fdisk /dev/sda(具体干什么?注意什么?) ps:存储扩大后不能缩小
(1)fdisk /dev/sda
进入磁盘配置;
p
(print) 输出当前磁盘分区情况;
d
(delete) 删除sda3磁盘(空间大小为:4810752-41943039) 。
(2)n
(new) 新建磁盘;
p
(primary) 进行新建主分区磁盘;(一块硬盘顶多只能分四块主分区)
3
新建磁盘空间名3新建磁盘(空间大小为:4810752-56623103);
(3) w
(write)保存,保存写入新的配置,磁盘分配配置
[root@localhost ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在存储中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/sda:29.0 GB, 28991029248 字节,56623104 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00019be8
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 616447 307200 83 Linux
/dev/sda2 616448 4810751 2097152 82 Linux swap / Solaris
/dev/sda3 4810752 41943039 18566144 83 Linux
命令(输入 m 获取帮助):d
分区号 (1-3,默认 3):3
分区 3 已删除
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):3
起始 扇区 (4810752-56623103,默认为 4810752):
将使用默认值 4810752
Last 扇区, +扇区 or +size{
K,M,G} (4810752-56623103,默认为 56623103):
将使用默认值 56623103
分区 3 已设置为 Linux 类型,大小设为 24.7 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
3)reboot
重启虚拟机,将刚刚的设置进行保存应用
4)xfs_growfs /dev/sda3
刷新存储空间,实现对存储扩容
5)lsblk
输出磁盘结构 df -PTh
输出磁盘使用情况 (成功将同磁盘的新增空间,扩容到已有空间)
2.如果是ext2iext3ext4格式的文件直接输入以下命令resize2fs /dev/sdb
进行扩容(此处以ext4的类型进行操作,xfs类型参考上面链接)
resize2fs # (当前这种在我测试中没出现数据丢失的情况)
调整ext2iext3ext4文件系统的大小,它可以放大或者缩小没有挂载的文件系统的大小。
如果文件系统已经挂载,它可以扩大文件系统的大小,前提是内核支持在线调整大小。
[root@192 ~]# resize2fs /dev/sdb
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/sdb is mounted on /ggyy; on-line resizing required
old_desc_blocks = 2, new_desc_blocks =<