云杉上的蝴蝶
新新人类
帖子
5
精华
0
无忧币 54
积分 7
阅读权限 20
|
发表于:2008-6-14 23:00
标题:(转)使用 ZFS 在 VMware Fusion 中扩展 Solaris 虚拟磁盘
By Jim Laurent,
在本文中,您会找到我折腾了数小时都未能尝试向 Solaris 虚拟机磁盘映像添加磁盘空间的记录。原来是需要某些“新思维”。如果您需要正确的解决方案,就直接转到文章结束部分。
我正在 MacBook Pro 上的 VMware Fusion 中运行我的 Solaris 映像。现在的问题的是如何扩展虚拟磁盘大小。
* 下载用于 MacOS X 的 VMware 虚拟磁盘管理器。这是随 Fusion 一起提供的命令行工具的一个 GUI。如果您确实喜欢使用命令行,则可以在以下位置找到它:/Library/Application\ Support/VMware\ Fusion/vmware-vdiskmanager。自己来权衡。我相信您的能力!
* 复制您的虚拟机。仅对副本进行操作!在 Finder 中选中它,然后选择“编辑”>“复制”(Apple-D)。在制作副本时,虚拟机不能正在运行,甚至不能在使用中和处于挂起状态。Fusion 会对此提示操作不当。
* 启动 Fusion
* “文件打开...”新的虚拟机副本
* Fusion 会注意到文件名已更改并提示您是否已复制该文件。
* 挂起虚拟机
* 在扩展此磁盘前您必须先丢弃任何快照。虚拟机 > 丢弃快照。
* 启动 Vdiskmanager GUI
* 单击“扩展”,然后在虚拟机中查找 vmdk 文件。选择所需的大小。
* 单击“运行”(该 GUI 将在窗口底部回显它所使用的命令行,以检查欺骗行为)
* 该 GUI 不会显示此活动的进度。
* 完成时如果具有此状态则将打开“结果”选项卡。
现在,真正有趣的就要开始了。但是,Format 显示我的磁盘为其初始大小 10 GB,而非新大小 18 GB。此时 fdisk 将派上用场。
fdisk /dev/rdsk/c8t0d0p0 显示我的磁盘有一个占整个磁盘 56% 的分区。这证明该操作发挥了作用。现在我们尝试删除该分区,然后在操作系统运行时重新创建一个空间较大的分区(屏息)。遗憾的是,此尝试失败了,如果您不乐意从我的失败中汲取教训,请跳到下一部分。
* fdisk /dev/rdsk/c8t0d0p0
* 选择 3 删除该分区,选择分区 1 并确认
* 选择 1 创建一个分区。指定占磁盘的 100%。
* 选择 5 退出,但愿能成功!
* 运行 Format,崩溃了(哦,惨了!庆幸的是这只是个副本!)
* 系统重新引导并且 Grub 没有菜单。引导内核的所有尝试均告失败。哎。再试一次。
好了,可以看出 Solaris 在运行时不希望我移除和重新创建其 fdisk 分区。如何创建单独的分区并装载它呢?摒弃此核心此虚拟机并创建原件的另一个副本。重复这些步骤来增加磁盘大小,然后... 此尝试也告失败,如果您不乐意从我的失败中汲取教训,请跳到下一部分。
* 需要重新引导,以使 fdisk 识别新的较大大小
* fdisk /dev/rdsk/c8t0d0p0
* 选择 1 创建新分区,输入大小,不要使其处于活动状态
现在,我又卡壳了。我找不到获取格式的方法来识别磁盘以便构建盘片。newfs 拒绝写入没有分区表的新文件系统。
在 SunSolve 中,我发现了 6307998 这个错误,已附有以下注释。
我已经验证,基本上 Solaris 的限制在于
它不允许同一个磁盘上有多个 Solaris 物理分区。
功能的这种缺乏超过了安装程序,总的来说这是
Solaris 中所缺少的东西。Solaris 不支持同一个磁盘上有 2 个 Solaris 分区,
原因是磁盘驱动程序假定每个磁盘仅有一个
Solaris 分区。例如,如果我们引用 /dev/dsk/c0d0s0,则我们
如何确定需要在 c0d0 上访问的 Solaris 分区。
救助的 ZFS
当您有 ZFS 时有谁会需要那种讨厌的旧格式和 mkfs 材料呢!
* 需要重新引导,这样 fdisk 才能识别新的较大磁盘
* fdisk /dev/rdsk/c8t0d0p0
* 选择 1 创建新分区,输入大小,不要使其处于活动状态
* zpool 创建 mypool /dev/dsk/c8t0d0p1
* zfs 创建 mypool/jim
我已经成功增加了虚拟存储!
备选方法:为映像中添加第二个磁盘
为了通过 Fusion 添加第二个硬盘。
* solaris 必须停止运行。
* 虚拟机必须关闭。
* 单击 + 号,添加磁盘并输入大小。
* devfsadm(差点键入了重新引导 -- -r,但这是“旧思维”,以便 format 可以看到新设备)。
format
搜索磁盘...完成
可用的磁盘选择:
0. c1t0d0 <DEFAULT cyl 1302 alt 2 hd 255 sec 63>
/pci@0,0/pci1000,30@10/sd@0,0
1. c1t1d0 <DEFAULT cyl 2557 alt 2 hd 128 sec 32>
/pci@0,0/pci1000,30@10/sd@1,0
# zpool create mypool /dev/dsk/c1t1d0
# zfs create mypool/jim
# zpool status
pool: mypool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
mypool ONLINE 0 0 0
c1t1d0 ONLINE 0 0 0
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
mypool 4.97G 116K 4.97G 0% ONLINE -
|
 网络虽虚拟,技术无边界,来看看大家“真面目”! |
|