虚拟机配置拾遗

img

一. 前言

一些虚拟机的使用记录.

  • exsi
  • vm workstation
  • hyperV

二. Hyper-V虚拟机

在 Windows 10 上启用 Hyper-V | Microsoft Learn, 这是windows原生的虚拟机支持, 基于该技术的几项主要支持:

  • 虚拟机
  • 沙盒
  • wsl(Windows Subsystem for Linux)
  • wsa(Windows Subsystem for Android)

hyper-v虚拟机和VMware Workstation有所差异, 一些使用上相对不是那么简单直接.

2.1 创建虚拟机

创建虚拟, 对于windows没什么问题, 主要是创建linux(Ubuntu)虚拟机.

hyper-V配置虚拟机的过程并不是像vm一条龙配置到底.

img

img

很多vm的关键设置在hv上都是不存在, 例如上面的选择系统.

img

假如不使用hv预置的Ubuntu的配置方式, 就会碰到以下的安装失败的问题.

img

这是因为hv预置的启动引导是默认为windows的, 当安装其他系统时就会出现问题.

img

这个关键的设置在配置过程是不会出现的.

2.2 磁盘管理

不知微软出于什么的考虑, 磁盘的管理被单独分离出来, 而不是集成在设置中完成.

img

需要找到对应的系统磁盘, 然后才能进行操作.

img

虚拟机还是存在一些问题, 如还原点反复弹窗出现.

进行系统扩容之后, 不要选择continue, 而是要选择revert, 否则磁盘操作会自动回滚.

三. Ubuntu磁盘管理

磁盘管理是相对麻烦的, 由于运行多个虚拟机, 磁盘空间有限, 为了方便后面管理磁盘, 预先分配的磁盘空间大小有所保留.

注意安装anaconda占用磁盘空间颇大, 初始设置较大的磁盘好一点.

img

img

需要注意重新(扩容)磁盘之前需要删除掉虚拟机创建的还原点, 否则无法进行操作.

img

windows虚拟机的扩容磁盘, 由于保留分区将C盘和新的磁盘空间间隔开, 所以无法直接合并到一个盘符之下.

由于windows的磁盘扩容相当简单, 在虚拟机管理软件上调整了空间之后, 进入系统后, 打开磁盘管理即可看到新的磁盘空间(处于未分配的状态), 下面主要是Ubuntu的磁盘扩容.

Linux的文件系统和磁盘管理相对复杂, 检索相关信息, 可以看到各种五花八门的方式.

这里仅进行的操作是在上述的软件中进行扩容操作之后, 将上述新增的空间合并到现有的分区.

linux - How To Expand Ubuntu 20.04 LTS Filesystem Volume on Hyper-V - Super User

(base) lian@jarvis:~$ sudo fdisk -l
[sudo] password for lian:
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: Virtual disk
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: 1C644FA1-F6E6-4C19-9C59-85BE424A3D2D

Device       Start      End  Sectors  Size Type
/dev/sda1     2048     4095     2048    1M BIOS boot
/dev/sda2     4096  3719167  3715072  1.8G Linux filesystem
/dev/sda3  3719168 52428766 48709599 23.2G Linux filesystem

Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 23.22 GiB, 24935137280 bytes, 48701440 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

(base) lian@jarvis:~$ sudo lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/ubuntu-lv
  LV Name                ubuntu-lv
  VG Name                ubuntu-vg
  LV UUID                Xs4lZs-IJxD-9rxk-shKx-xoas-Uab1-LirDNN
  LV Write Access        read/write
  LV Creation host, time ubuntu-server, 2024-04-06 10:18:54 +0000
  LV Status              available
  # open                 1
  LV Size                23.22 GiB
  Current LE             5945
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

sudo growpart /dev/sda 3

sudo pvresize /dev/sda3

sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv # 关键在于此

sudo resize2fs  /dev/mapper/ubuntu--vg-ubuntu--lv

growpart(1) - Arch manual pages

growpart partition rewrite partition table so that partition takes up all the space it can

pvresize(8) - Arch manual pages

pvresize - Resize physical volume(s)

lvextend(8) - Arch manual pages

lvextend - Add space to a logical volume

resize2fs(8) - Arch manual pages

resize2fs - ext2/ext3/ext4 file system resizer

四. 其他问题

4.1 exsi安装Ubuntu Server失败

由于之前安装的Ubuntu占用磁盘过于庞大, 删除这个虚拟机之后, 重新安装一直卡在死循环上(反复安装某些组件, 查看日志一段时间之后界面就失去响应, 但是没有崩溃或者报错), web端的管理界面会出现卡死的异常, 切换到其他版本的Ubuntu也还是如此.

Ubuntu 22.04.4 LTS服务器版本安装选择最小化安装(磁盘占用约为4.4G).

最后使用vm workstation远程连接, 通过这里的创建新虚拟机才最后安装成功.

img

不清楚和引导项是否有关, vm上的安装默认使用的还是bios.

img

vm上的安装过程提示过一次报错, web端却没有类似的错误提示, 尽管在web端出现了多次死循环卡死, 但是却没有任何的弹窗提示错误.

4.2 hyper-V虚拟机IP

hv虚拟机和vm的虚拟机默认网络连接的差异, hv的虚拟机的默认模式下, IP并不是常见的192.168....

img

4.3 关于Windows精简版本

由于需要在16G硬盘, 2G内存相对有限的硬件条件下运行windows, 系统的选择上, 可选的已不多, 很多软件已经强制win10及以上系统.

经过多个测试, tiny10&tiny11不管是磁盘占用还是运行内存占用, 系统的稳定性等, 均具有较好的表现.

精简系统很容导致各种问题, 多数的所谓的精简系统名曰精简优化, 实则为负优化, 导致系统出现各种问题, 如精简掉webview(edge)导致需要的依赖的软件无法运行.

五. 小结

相对于vm workstation, 不管是exsi或者hyperV使用体验相对一般.

exsi要预留足够的内存(8G全部系统运行时需要预留大概2G)和磁盘空间作为交换区, 否则容易导致系统崩溃.