虚拟机(已安装好操作系统)的硬盘如何扩大?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚拟机(已安装好操作系统)的硬盘如何扩大?相关的知识,希望对你有一定的参考价值。
虚拟机(已安装好操作系统)的硬盘如何扩大?请赐教,谢谢!
今天上了存储,之前有些项目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 +sizeK,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 /
缺点,需要重启一次
第二种方法:直接添加硬盘,而不是在原有的上面只接更改大小
添加的硬盘直接可以识别出来,直接按照第一种方法的重启之后的步骤一步一步就可以了。
优点:不需要重启
参考技术A 步骤方法:1.退出LINUX系统,在vmware启动界面中选择VM菜单下的Settings来增加磁盘,然后选择add,选择hard disk,点击Next。
2.选中create a new virtual disk,点击下一步,选择scsi,继续下一步。选择好要新增磁盘的大小,勾选Allocate all disk space now立即分配空间,下一步,在硬盘上选择一个目录来创建,点击完成结束。这样,一个新增的空间就创建好了。
3.输入新增这块硬盘的名字,它会默认放置在虚拟机所在的位置。
4.接着就能看到分好的硬盘了。
5.进入Linux系统,使用fdisk -l可以看到效果。
sudo fdisk -l
这里可以看到/dev/sdb就是新添加的硬盘,需要给新的硬盘分区。
1. 在终端输入:sudo fdisk /dev/sdb
之后键入:m,可以看到帮助信息。
键入:n,添加新分区。
键入:p,选择添加主分区。
键入:1,选择主分区号为1,这样创建后的主分区为sdb1之后,fdsik会让选择该分区的开始值和结束值,直接回车。
2.格式化磁盘
在终端输入:mkfs -t ext4 /dev/sdb1
用ext3格式对/dev/sdb1进行格式化
最后键入:w,保存所有并退出,完成新硬盘的分区
3.在用户主目录下新建一个文件, 如/home/linux/newdisk。以后就把新增的分区mount到这个目录下。
4.用root权限打开/etc/fstab文件。新增加一个选项。具体fstab的操作在这里不解释了。新增加如下:/dev/sdb1 /home/linux/newdisk ext4 defaults 0 0
5.重新启动系统,就能看到加载的硬盘了。 参考技术B 硬盘是不能在扩大了,只能在虚拟机设置里面的硬件属性添加新硬盘。 参考技术C 再添加一个硬盘本回答被提问者采纳
如何使用VirtualBox虚拟机
1. 如何将别人做好的镜像拿到自己的虚拟机上使用.
将已安装好的虚拟系统镜像 XXX.vdi文件copy到本地. 打开Virtual Box管理器.
选择"新建"
->Next
->输入虚拟电脑的名称,该名称将会在Virtual Box管理器的左边显示. 选择好操作系统的类型和版本.
->给虚拟电脑分配内存.默认是512M,可以修改为1024M.
->虚拟硬盘,选择使用现有的虚拟硬盘,打开对话框,找到copy到本地的XXX.vdi文件.
完成.
2. 如何备份虚拟机?
安装完一个系统,还有增强功能后,可以给系统做一个干净的备份,以后如果需要一个干净的系统,就可以直接使用备份了.
使用"导出虚拟电脑"功能给系统做备份. 选择好镜像存放的目录,点击“下一步”即可完成.
3. 如何导入备份?
可以将上一步导出的备份, 使用"导入虚拟电脑", 在Virtual Box管理器中增加一个虚拟系统.
选择“导入虚拟电脑”,选择镜像存放的目录,下一步。
->注意勾选选择最下方的选项"重新初始化所有网卡的MAC地址(R)", 这样新生成的虚拟机就会自动从DHCP获取新的IP与其他导入的虚拟机不会有冲突。并且将”网络控制器”选项取消勾选, 便于启动.
修改虚拟硬盘的配置路径: 从C:\\user 目录改为E:\\VirtualOS\\Server2003_32_Backup_Copy.
点击导入.
->需要等待较长的一段时间才能完成. 完成后,就会在下方产生一个新系统,如有重复,它会自动加 “_N” 来区分。
有2个问题需要注意:
(1). 如果新导入的MAC地址与以前系统的MAC地址冲突, 则该系统将没法上网.可以采取如下操作.
选中导入后的虚拟机, 右击鼠标键选择“设置”菜单. 选择"网络"选项, 点击MAC地址行右边的刷新图表,获取新的 MAC地址,点击确定.
(2). 如果不更改虚拟硬盘的配置路径: 从C:\\user 目录改为E:\\VirtualOS\\Server2003_32_Backup_Copy. 则新导入的该系统对应的"HardDisk"文件生成在了"C:\\Users\\jlzhang\\VirtualBox VMs\\Server2003_32_1" config文件所在的文件夹下了. 它是一个"vmdk"文件. 该文件太大了, 把C盘空间都占用满了.
4. 如何给虚拟机分配一个独立的IP?
有时虚拟机系统需要一个独立的IP与外部的宿主机通信, 这时虚拟机需要获取一个独立的IP.
使用"桥接模式"与外界网络连接. 在Virtual Box管理器左列显示的系统上点右键
-> 选择"设置"
->点击"网络"选项
->在"网卡1"选项页, 连接方式选择"桥接网卡".
确认.
5. 控制菜单中, "正常关机"和"退出"的区别
"退出"是指强制退出. 一般情况下, 虚拟机要正常关机。如果总是强制退出,虚拟硬盘也会发生错误,导致文件损坏。
6. 安装增强功能
VirtualBox Guset Additions的作用包含以下几点:
实现客户机和主机间的鼠标平滑移动
与主机实现文件共享
于主机共享剪贴板的内容,也就是说直接可以在主机、客户机之间复制、粘贴
使用音效系统,要不然没法用虚拟机听音乐了
与主机实现时间同步
自动登录windows
具体的操作是,启动客户机系统,在drives中选择"安装增强功能(Install Guset Additions)"。在弹出的对话框中,基本上一路“下一步”就OK了。安装结束后,需要重启客户机系统后,可以看到右下角有个四方形的图标,表示系统运行了“Oracle VM VirtualBox Guest Additions”。此时,鼠标可以在当前系统和客户机系统之前随意移动,而在装VirtualBox Guset Additions之前,要从客户机系统回到当前系统是需要按组合键“Ctrl+Alt+Delete”的。而且系统根据当前VBox窗口的大小自动调整像素,也可以全屏显示。
该功能的缺陷之处在于,安装Guest Additions后,客户机基本就绑定到特定的VBox环境中了,不利了虚拟机的克隆和迁移。
7. VirtualBox网络配置
VBox中,可以为同一个虚拟机添加四个网卡,对不同的网卡进行不同模式的设置。比如说,添加两块网卡一块的连接方式为NAT,另一块为Host-only Adapter,这样客户机既可以安全上网,也可以和主机通信。
NAT模式
VBox默认是NAT(网络地址转换)方式,Guest OS(客户机系统)装好后(联网方式设为DHCP),就可以直接连网。 使用NAT方式,客户机访问网络由主机提供(其实是通过主机的NAT服务器,这是VirtualBox内置的)。在这种方式下,客户机的网络地址外网不可见,因此外网访问不了客户机,而且主机也无法通过网络访问客户机,要想将主机上的一些资料上传到客户机,是做不来的。
测试时,主机IP是10.8.5.24的内网地址,主机下查看VBox的IP,结果如下:
从客户机内部看, 客户机本身的IP地址是10.0.2.15的内网地址,网关是10.0.2.2,使用route命令,查看结果如下:
主机能ping通169.254.134.226(从主机下查看的客户机IP),但不能ping通客户机10.0.2.15(从客户机内部查看的客户机本身的IP地址);客户机ping不通169.254.134.226,但客户机能ping通主机(主机IP是10.8.5.24),并且能正常上网。
桥接模式(Bridged Adapter)
将客户机的网络连接改为桥接方式,然后到虚拟系统中,将IP与主机IP设置在同一网段。此时,客户机相当于网络上的一台独立主机。主机、虚拟机、网络上的其他工作站,可以直接互相访问。如果只允许客户机与主机通信,只须将主机网卡设置双IP,一个用于上网,一个用于与虚拟机通信,而无须修改客户机的网络连接方式。这跟将两台主机设置成同一网段,然后用一根网线相连,就可以通信是一样的。
内网模式(Internal)
顾名思义就是内部网络模式,虚拟机与外网完全断开,只实现虚拟机于虚拟机之间的内部网络模式。在主机上同时开两台客户机,IP分别设为192.168.1.1和192.168.1.2(掩码都为255.255.255.0,网关不设),可以正常通信。
主机模式(Host-only Adapter)
这种模式,据说VBox在主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上的(主机上的VirtualBox Host-Only Network网卡),可以通过这张网卡来实现上网及其他功能。
如果要让VBox的虚拟机可以访问外网,需将主机系统的本地连接设为与VirtualBox Host-Only Network共享。如图所示进行设置后,VirtualBox Host-Only Network的IP地址被自动设置,测试时IP为192.168.137.1,子网掩码为255.255.255.0。
在客户机中将IP设为同一网段的地址,并将DNS地址设为主机所用的DNS地址。理论上,这时客户机与主机、网络上的其他工作站都可以连接的,但实际测试中,(重新激活的网卡,又重启了客户机),客户机只能与主机通信,而且只是在192.168.137.0这个网段内进行通信。
8. 如何实现VirtualBox虚拟机与windows主机共享?
参考: http://www.jb51.net/article/97271.htm
9. 如何设置虚拟机与主机之间能够相互复制粘贴?
在VirtualBox中选定虚拟镜像后,点击”Settings“按钮,在Generla->Advanced下,Shared Clipboard默认为Disabled,将其修改为Bidirectional就可以了。
参考技术A 你需要一个系统镜像 点击新建,按教程新建一个虚拟电脑 打开你的虚拟电脑,由于没有加载镜像,它会提示你选择一个镜像或物理设备,你选一个载入就行 其他操作和物理机相同以上是关于虚拟机(已安装好操作系统)的硬盘如何扩大?的主要内容,如果未能解决你的问题,请参考以下文章