一、Linux磁盘空间扩容
参考原文链接:
VMware Linux(Centos)虚拟机扩容根目录磁盘空间_centos虚拟机扩容磁盘空间-CSDN博客
前提:在Linux中部署的系统因为磁盘空间使用率太高导致访问有问题,可以看到根目录的磁盘空间已经使用了96%
// 使用df命令查看磁盘空间使用率
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 13M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 36G 35G 1.7G 96% /
/dev/sda1 1014M 185M 830M 19% /boot
tmpfs 378M 24K 378M 1% /run/user/0
/dev/sr0 4.4G 4.4G 0 100% /run/media/root/CentOS 7 x86_64
AI写代码
Go
运行
1、扩展虚拟机硬盘
在虚拟机关闭状态下,点击要扩容的虚拟机,点击“编辑虚拟机设置”,选中“硬盘”,点击“扩展”按钮,填写最大磁盘大小(这里是指磁盘的总空间,比如原来就有40G,想要扩10G,最大磁盘大小就填写50G),之后点击【扩展】
注:如果虚拟机存在快照,扩展按钮呈现灰色,不能扩展
扩展完成后一定要点击【确定】按钮才会生效
2、查看磁盘分区和设备挂载情况
开启虚拟机查看分区和挂载情况,已有分区:分区sda1、sda2、sda3
[root@localhost ~]# fdisk -l
磁盘 /dev/sda:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000ca3fb
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 41943039 19921920 8e Linux LVM
/dev/sda3 41943040 83886079 20971520 83 Linux
磁盘 /dev/mapper/centos-root:38.7 GB, 38650511360 字节,75489280 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
AI写代码
Go
运行
如下可知:磁盘sda一共有50G,其中sda1、sda2、sda3一共3个分区总大小为1+19+20=40G,也就是说还有新增的10G没有挂载
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 19G 0 part
│ ├─centos-root 253:0 0 36G 0 lvm /
│ └─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─sda3 8:3 0 20G 0 part
└─centos-root 253:0 0 36G 0 lvm /
sr0 11:0 1 4.4G 0 rom
AI写代码
Go
运行
3、对新增空间进行分区操作
[root@localhost ~]# fdisk /dev/sda // 开始进行分区设置
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n //1、输入n,表示创建新分区
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p //2、输入p表示主分区,创建分区4
已选择分区 4
起始 扇区 (83886080-104857599,默认为 83886080): //3、直接回车
将使用默认值 83886080
Last 扇区, +扇区 or +size{K,M,G} (83886080-104857599,默认为 104857599): //4、直接回车
将使用默认值 104857599
分区 4 已设置为 Linux 类型,大小设为 10 GiB
命令(输入 m 获取帮助):w //5、保存退出
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)
正在同步磁盘。
AI写代码
Go
运行
再次查看磁盘分区情况,现在多了一个sda4分区,不过没有挂载,还不能用
[root@localhost ~]# fdisk -l
磁盘 /dev/sda:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000ca3fb
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 41943039 19921920 8e Linux LVM
/dev/sda3 41943040 83886079 20971520 83 Linux
/dev/sda4 83886080 104857599 10485760 83 Linux
磁盘 /dev/mapper/centos-root:38.7 GB, 38650511360 字节,75489280 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
AI写代码
Go
运行
4、重启操作系统
[root@localhost ~]# reboot
AI写代码
Go
运行
5、格式化新分区
执行 mkfs -t ext3 /dev/sda4
[root@localhost ~]# mkfs -t ext3 /dev/sda4
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
AI写代码
Go
运行
6、将分区初始化为物理卷
执行lvs命令,将物理硬盘分区初始化为物理卷,以便LVM使用
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <36.00g
swap centos -wi-ao---- 2.00g
//初始化物理卷
[root@localhost ~]# pvcreate /dev/sda4
WARNING: ext3 signature detected on /dev/sda4 at offset 1080. Wipe it? [y/n]: y
Wiping ext3 signature on /dev/sda4.
Physical volume "/dev/sda4" successfully created.
AI写代码
Go
运行
7、向卷组中添加物理卷来增加容量
查看磁盘使用情况,可以看到centos为根目录所在组名
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 13M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 36G 35G 1.7G 96% /
/dev/sda1 1014M 185M 830M 19% /boot
tmpfs 378M 12K 378M 1% /run/user/42
tmpfs 378M 0 378M 0% /run/user/0
AI写代码
Go
运行
增加卷组的容量
// 增加卷组的容量
[root@localhost ~]# vgextend centos /dev/sda4
Volume group "centos" successfully extended
AI写代码
Go
运行
8、扩充磁盘空间
查看可扩展空间的大小,Free PE / Size 就是可以提供分配的自由空间,最多10.99 GiB,在扩展时输入小于该值
// 查看可扩展的空间大小
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 6
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 3
Act PV 3
VG Size <48.99 GiB
PE Size 4.00 MiB
Total PE 12541
Alloc PE / Size 9727 / <38.00 GiB
Free PE / Size 2814 / 10.99 GiB
VG UUID uwhAXl-dE1d-QBkV-DQMF-qDQj-8sSC-q4txav
//扩展磁盘空间,这里扩展了9.9G
[root@localhost ~]# lvextend -L+9.9G /dev/mapper/centos-root /dev/sda4
Rounding size to boundary between physical extents: 9.90 GiB.
Size of logical volume centos/root changed from <36.00 GiB (9215 extents) to <45.90 GiB (11750 extents).
Logical volume centos/root successfully resized.
AI写代码
Go
运行
9、检查并自动修复文件系统错误
[root@localhost ~]# e2fsck -a /dev/mapper/centos-root
/dev/mapper/centos-root is mounted.
e2fsck: 无法继续, 中止.
AI写代码
Go
运行
10、扩展文件系统
// 查看分区文件的系统
[root@localhost ~]# df -T
文件系统 类型 1K-块 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1913628 0 1913628 0% /dev
tmpfs tmpfs 1930644 0 1930644 0% /dev/shm
tmpfs tmpfs 1930644 12532 1918112 1% /run
tmpfs tmpfs 1930644 0 1930644 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 37734400 36041324 1693076 96% /
/dev/sda1 xfs 1038336 189024 849312 19% /boot
tmpfs tmpfs 386132 12 386120 1% /run/user/42
tmpfs tmpfs 386132 0 386132 0% /run/user/0
AI写代码
Go
运行
(1)分区文件系统类型为xfs
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512 agcount=9, agsize=1113856 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=9436160, 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 9436160 to 12032000
AI写代码
Go
运行
(2)其他非xfs文件系统
[root@localhost ~]# resize2fs /dev/mapper/vg_rxf-lv_root
AI写代码
Go
运行
11、查看磁盘空间扩展后的结果
如下,根目录的容量变为了46G,使用率变成了75%,磁盘扩展成功
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 13M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 46G 35G 12G 75% /
/dev/sda1 1014M 185M 830M 19% /boot
tmpfs 378M 12K 378M 1% /run/user/42
tmpfs 378M 0 378M 0% /run/user/0
AI写代码
Go
运行
二、Windows磁盘空间扩容
前提:在VMware创建win虚拟机时磁盘空间默认配了60G,后面发现E盘变红了,因此扩展磁盘空间,不过我之前已经扩过了,现在重新扩容记一下过程
参考原文链接:
VMware的windows虚拟机硬盘扩容(简单详细)_windows虚拟机扩展磁盘容量-CSDN博客
1、扩展虚拟机硬盘
在虚拟机关闭状态下,点击要扩容的虚拟机,点击“编辑虚拟机设置”,选中“硬盘”,点击“扩展”按钮,填写最大磁盘大小(这里是指磁盘的总空间,比如原来就有80G,想要扩10G,最大磁盘大小就填写90G),之后点击【扩展】
注:如果虚拟机存在快照,扩展按钮呈现灰色,不能扩展
扩展完成后一定要点击【确定】按钮才会生效
2、打开磁盘管理
打开文件夹,点击“计算机”,右键点击【管理】
点击“磁盘管理”,可以看到有显示10G的未分配空间
3、扩展E盘
(1)点击E盘,右键选择【扩展卷】
注:若扩展卷为灰色,则表示不能扩展,因为未分配空间与目标分区之间隔着其他分区(例如系统恢复分区、EFI分区或另一个数据分区),扩展卷选项将不可用。如果要扩展目标分区,需要删除阻碍分区,即进入磁盘管理后,右键点击目标分区右侧的相邻分区(如无重要数据),选择“删除卷”(注意:此操作会清空该分区数据,务必提前备份! )
(2)下一步
(3)选中可分配的分区,填写“选择空间量(MB)(E)”,这里默认为最大值10240,即10G,如果不想分配完,可以自己设置10240以下的数值,点击“下一步”
(4)点击“完成”
4、查看磁盘扩展结果
如下,E盘空间从50G变为了60G,磁盘扩展成功