十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
首先澄清一件事情:
成都创新互联公司专注于富宁网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供富宁营销型网站建设,富宁网站制作、富宁网页设计、富宁网站官网定制、小程序定制开发服务,打造富宁网络公司原创品牌,更为您提供富宁网站排名全网营销落地服务。
虚拟机中的LINUX分区大小跟你在实际建立的时候分配的大小是两码事!
比如:
我G盘有24G,我建虚拟机的时候给LINUX分了10G~~~~~
在LINUX中看的话就是10G的空间~~~
而它占硬盘的实际空间大小可能只有四五G的大小~~~~
清楚吗?
如果我给LINUX分32G的大小也是可以的,但它最多占用到24G,因为我
的硬盘只有哪么大~~~
如果换成你的情况的话~
那就的linux的空间已经用完了~~~
只是实际虚拟机的文件大小只有4.3G清楚吗?
总之一句话:
虚拟机的存储文件的大小是动态占用实际的硬盘大小~~~~
如果你分给你的LINUX 8G那在linux中只有8G,而LINUX虚拟机件夹的
大小是动态变化的!~~~~但变化的范围不会超过你硬盘的实际大小!
希望我说清楚了~~~呵呵~~o(∩_∩)o...
今天上了存储,之前有些项目LINUX虚拟机需要扩容,所以做了下测试,希望对大家有用。
1、首先需要做在线硬盘扩容的话,需要保证虚拟机没有快照。
第一种方法:在原有的硬盘上直接改变磁盘置备的大小
改之前:25G
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 25G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 15G 0 part
│ ├─rhel-root 253:0 0 66.4G 0 lvm /
│ └─rhel-swap 253:1 0 1.6G 0 lvm [SWAP]
└─sda3 8:3 0 9G 0 part
└─rhel-root 253:0 0 66.4G 0 lvm /
改之后:40G
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 25G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 15G 0 part
│ ├─rhel-root 253:0 0 66.4G 0 lvm /
│ └─rhel-swap 253:1 0 1.6G 0 lvm [SWAP]
└─sda3 8:3 0 9G 0 part
└─rhel-root 253:0 0 66.4G 0 lvm /
通过partprobe命令也无法识别出来
重启之后,识别出来40G空间
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 15G 0 part
│ ├─rhel-root 253:0 0 66.4G 0 lvm /
│ └─rhel-swap 253:1 0 1.6G 0 lvm [SWAP]
└─sda3 8:3 0 9G 0 part
└─rhel-root 253:0 0 66.4G 0 lvm /
sda1+sda2+sda3=25G,所以sda还有15G可以用
[root@localhost ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p
已选择分区 4
起始 扇区 (52428800-83886079,默认为 52428800):
将使用默认值 52428800
Last 扇区, +扇区 or +size{K,M,G} (52428800-83886079,默认为 83886079):
将使用默认值 83886079
分区 4 已设置为 Linux 类型,大小设为 15 GiB
命令(输入 m 获取帮助):t
分区号 (1-4,默认 4):8e
分区号 (1-4,默认 4):
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 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)
正在同步磁盘。
[root@localhost ~]#
[root@localhost ~]# partprobe
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 15G 0 part
│ ├─rhel-root 253:0 0 66.4G 0 lvm /
│ └─rhel-swap 253:1 0 1.6G 0 lvm [SWAP]
├─sda3 8:3 0 9G 0 part
│ └─rhel-root 253:0 0 66.4G 0 lvm /
└─sda4 8:4 0 15G 0 part
将sda4加进去
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 5 2 0 wz--n- 73.98g 5.98g
[root@localhost ~]# lvm
lvm pvcreate /dev/sda4
Physical volume "/dev/sda4" successfully created.
lvm vgextend rhel /dev/sda4
Volume group "rhel" successfully extended
lvm lvdisplay
--- Logical volume ---
LV Path /dev/rhel/swap
LV Name swap
VG Name rhel
LV UUID IIuZXp-olio-8mnv-zOYn-hm9a-CjWb-89C75z
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2019-04-17 16:33:20 +0800
LV Status available
# open 2
LV Size 1.60 GiB
Current LE 410
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/rhel/root
LV Name root
VG Name rhel
LV UUID 8PMjP0-HifX-qHKj-CqN2-dnnd-Ln0N-9Th9bK
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2019-04-17 16:33:21 +0800
LV Status available
# open 1
LV Size 66.39 GiB
Current LE 16997
Segments 5
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
lvm lvextend -L +15G /dev/rhel/root
Size of logical volume rhel/root changed from 66.39 GiB (16997 extents) to 81.39 GiB (20837 extents).
Logical volume rhel/root successfully resized.
lvm EXIT
No such command 'EXIT'. Try 'help'.
lvm exit
Exiting.
[root@localhost ~]# xfs_growfs /dev/rhel/root
meta-data=/dev/mapper/rhel-root isize=512 agcount=18, agsize=877824 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=15045632, 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 15045632 to 21337088
这里是redhat7,文件系统是xfs,所以用命令xfs_growfs 如果是redhat6,ext4的文件系统,则是resize2fs命令
扩容后最终
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 15G 0 part
│ ├─rhel-root 253:0 0 81.4G 0 lvm /
│ └─rhel-swap 253:1 0 1.6G 0 lvm [SWAP]
├─sda3 8:3 0 9G 0 part
│ └─rhel-root 253:0 0 81.4G 0 lvm /
└─sda4 8:4 0 15G 0 part
└─rhel-root 253:0 0 81.4G 0 lvm /
缺点,需要重启一次
第二种方法:直接添加硬盘,而不是在原有的上面只接更改大小
添加的硬盘直接可以识别出来,直接按照第一种方法的重启之后的步骤一步一步就可以了。
优点:不需要重启
1.虚拟机里添加磁盘
2. 检查磁盘空间:
运行如下命令来检查当前磁盘空间大小。
# df -h
# fdisk -l
如图可以看到,虽然我们已经在后端给其增加到 50 GB 的空间,但此时的总磁盘大小仍然为 10 GB。
3. 扩展空间而无需重启虚拟机
现在运行如下命令,通过重新扫描 SCSI (注:Small Computer System Interface 小型计算机系统接口)总线并添加 SCSI 设备,系统就可以扩展操作系统的物理卷磁盘空间,而且不需要重启虚拟机。
# ls /sys/class/scsi_host/
# echo "- - -" /sys/class/scsi_host/host0/scan
# echo "- - -" /sys/class/scsi_host/host1/scan
# echo "- - -" /sys/class/scsi_host/host2/scan
使用下面的命令来检查 SCSI 设备的名称,然后重新扫描 SCSI 总线。
# ls /sys/class/scsi_device/
# echo 1 /sys/class/scsi_device/0\:0\:0\:0/device/rescan
# echo 1 /sys/class/scsi_device/2\:0\:0\:0/device/rescan
如下图所示,会重新扫描 SCSI 总线,随后我们在虚拟机客户端设置的磁盘大小会正常显示。
4. fdisk /dev/sdb
5. 按n键 添加一个分区
6. 按p键创建主分区
7. 按1键 输入主分区号
8. 按回车 输入大小,默认都回车键
9. 按t键更改磁盘system id 输入8e
10. 按w键保存
11. partprobe /dev/sdb1
12. pvcreate /dev/sdb1
13. vgextend VolGroup00 /dev/sdb1
14. lvextend -l +100%FREE /dev/mapper/VolGroup00-LogVol00
15. resize2fs /dev/VolGroup00/LogVol00 如果此命令无法使用 可以使用ext2online /dev/VolGroup00/LogVol00
16. xfs格式使用xfs_growfs /dev/VolGroup00/LogVol00