Esxi5里面映射裸物理硬盘给虚拟机用 回首页

目的:一台物理机只做成freenas资源有点浪费,希望既用esxi5充分利用机器做虚拟化,又用freeNAS直接使用多块物理硬盘做RAID。
  (PS:一些人的通常的做法是:在客户端的控制台上把这个新盘做成vmfs格式,然后再做一个很大的虚拟硬盘给这个虚机用,我不愿意这样,我希望这个硬盘做为一个裸设备挂在虚机下面,以后我还可以把它挂在其它物理机下面。)

可行性分析:
  通过创建虚拟文件系统的命令vmkfstools,我看到这样一个参数:
  -z --createrdmpassthru /vmfs/devices/disks/...
  字意上是“create rdmp passthru”,我猜测rdmp就指“real disk mapping”而passthru则是“通过、穿透”,我在编程语言里面用过函数passthru(),同exec()、system()一样,它有执行外部程序的意思,估计有戏。

操作环境:
  物理机是esxi5,虚拟机是512M的freenas8.2,一块新加的物理硬盘是500G日立笔记本硬盘。为什么选freenas8.2版?因为它对应的freebsd8.2版具备VMware guest tools支持,它的ZFS文件系统版本是v.15,我的打造的mini-linux liveCD正好也支持它。

操作概要:
  先ssh到esxi5的终端界面下创建物理盘映射,然后去控制台为客户机挂盘。

1.取得祼盘的名称:
cd /dev/disk
ls
在我的机器上显示为:
t10.ATA_____Hitachi_HTS725050A9A364_________________100819PCK404VLK3GXMJ

对应的符号连接是:
vml.010000000031303038313950434b343034564c4b3347584d4a486974616368
可以用“ls -l vml.010000000031303038313950434b343034564c4b3347584d4a486974616368”核对一下

2.建立物理硬盘映射:
cd /vmfs/volumes/datastore1/
(datastore1是esxi5里面的缺省存贮器名称)

mkdir -p raw_disk_01
(创建一个集中放置映射盘的目录)

vmkfstools -z /vmfs/devices/disks/t10.ATA_____Hitachi_HTS725050A9A364_________________100819PCK404VLK3GXMJ /vmfs/volumes/datastore1/raw_disk_01/raw_disk_4nas.vmdk
(创建一个映射盘)

cd /vmfs/volumes/datastore1/raw_disk_01/
ls -lh
这时应该看到类似的情况:
-rw-------    1 root     root       465.8G Oct 13 15:34 raw_disk_4nas-rdmp.vmdk
-rw-------    1 root     root          502 Oct 13 15:34 raw_disk_4nas.vmdk

3.安装freeNAS虚拟机概要:
    CPU和宿主机:
        宿主机一个双核atom处理器,内存只支持到4G,装了64位esxi5,只分给freeNAS虚拟机一个CPU核心。
    内存:
        如果需要做ZFS盘阵+iSCSI的话需要给这个freeNAS虚拟机分配2G以上的内存,而且多多益善。
        如果只做普通raid1类型的文件服务器(UFS文件系统),freenas7的经验:256M内存足够,总是用不完——只占用30%左右。
        不打算用它搞ZFS,选装了32位的freenas8.2,但freenas8后面因为内存配少了溢出了,我改用了nas4free9(freenas7工程的继续)。
    硬盘:
        FreeNAS官方不建議將FreeNAS安裝於硬碟上。
        旧版(0.7)我在建虚拟机时为它设定了一块512M的IDE类型的虚拟硬盘,安装时,系统只用了384M,剩下一个分区,做了swap;
        新版(8.2),我则为它虚拟了2G的系统盘(设备名:ada0)。

4.安装freeNAS虚拟机,做一点简单配置,然后正常关闭这个freeNAS虚拟机,然后为这个虚拟机增加硬盘,选择“用一个已存在的虚拟磁盘”(use an existing virtual disk)。
过程摘要>>><<<隐藏
(1)新建freeNAS虚拟机 (2)挂盘: 选择“用一个已存在的虚拟磁盘”(use an existing virtual disk) 找到这个盘 必须是SCSI类型硬盘 (3)完成情况:
5.重新启动这个freeNAS虚拟机,开始管理这个硬盘。 管理摘要>>><<<隐藏
(1)在硬盘管理里面到这个硬盘类型了,名称是da0。 (2)增加一个卷,使用这个硬盘。 (3) 内存占用很低(启动了SSH,NFS,CIFS,SSH,iSCSI这几个服务) 硬盘情况:从这个图上,看到2G的系统盘freeBSD8.2只用了1G,做了个软raid1,使用了39%的空间,那个物理盘是da0。
结束。 后续: 再挂其它物理硬盘给这个虚机也如法炮制,为后面做ZFS的实验垫定基础。 考虑内存不足,改用了nas4free9(freenas7工程的继续。 -------------------------------------------------------------------------------- 关于freeNAS最低系统需求的第三方参考: 1.若決定採用 ZFS 檔案系統則表示您的硬體設備至少應該具備 6GB 以上閒置的記憶體空間,也就是說您的硬體設備至少需要 8GB 的記憶體,如此一來在運作 ZFS 檔案系統時,才能得到令人滿意的效能及傳輸速度。當然屆時 FreeNAS 運作的整體效能跟您的硬體設備實體記憶體將成正比(當然是實體記憶體愈多愈好!)。當 ZFS 檔案系統所負責處理的硬碟空間超過 6TB 容量時,就經驗法則來說,建議每多 1TB 硬碟空間就應增加 1GB 的實體記憶體。最後則應避免 ZFS RAIDZ 與硬體磁碟陣列卡 (RAID Controller) 二者互相混用的情況發生。您應該要將實體磁碟陣列設定在 JBOD 模式,而讓 ZFS 檔案系統來專心處理 RAID 部份。 2.在安裝空間方面,FreeNAS 為嵌入式的設計理念,因此您可以將 FreeNAS 安裝在 2GB 空間的 CF / USB 儲存裝置上,當然您也可以把 FreeNAS 安裝在硬碟上(但官方並不建議如此)。FreeNAS 在安裝時會將作業系統切割為二個 1GB 的分割區,其中一個分割區負責存放運作中的 FreeNAS 作業系統,而另一個分割區則是升級版本時會使用到。這樣的分割存放設計概念,可以確保您能順利升級至新的 FreeNAS 版本作業系統,或者當遇到升級問題時,也能輕鬆回復到先前穩定運作的版本,因此若您將 FreeNAS 安裝於硬碟上,將造成無法使用其它的剩餘空間。 其它第三方参考: 家用NAS+Plex媒体服务器搭建,运行在ESXi 5下的UNRAID系统,支持24盘位。他用的是阵列+DirectPATH I/O。 http://bbs.et8.net/bbs/showthread.php?t=1032256