注:文章里我使用的是root这个账户,这不是个好习惯,建议使用一般账号操作。
我是在VMware Workstation( 7.0.0 build-203739)虚拟机下实现的此无盘系统,所以重点讲解如何在VMware Workstation下将系统镜像传送到SAN target上的方法。
方法有两种:
方案一:直接将客户机的磁盘附加到服务器上供客户机单独使用。
方案二:将客户机的相关磁盘文件提取到SAN target上的LVM组成的磁盘系统上再利用LVM的快照功能为多台客户机提供无盘服务,另外此方法可以很好地利用LVM的诸多功能,来实现SAN target和客户机的磁盘的有效管理和控制。(大家最好多了解一下LVM)
由于我们要使用SAN target 为多台无盘客户端提供服务并对客户机的“虚”磁盘做到有效地管理与控制,所以我们将详细讲解方案二。
首先说一下方案一。
方案一:直接见客户机的硬盘挂到SAN target上
注意:虚拟磁盘不能被创建任何“快照”,否则会造成蓝屏。
1. 移除客户机的虚拟磁盘
在客户机的Summary View 下点击“Edit virtual machine settings”,你将会看到下面图像:
首先选中客户机的虚拟磁盘,然后点击“Remove”,移除客户机的磁盘。
2. 将客户机的虚拟磁盘附加到SAN target 服务器上
在SAN target服务器的Summary View 下点击“Edit virtual machine settings”,你将会看到下面图像:
点击“add”
首先选中“Hard Disk”,然后点击“next”。
首先选中“Use an existing virtual disk”,然后点击“next”
点击“Browse”找到客户机磁盘文件所在的路径
点击“finish”
我们成功完成了将客户机磁盘添加到无盘服务器上了,点击“ok”。
这时我们可以使用vblade将客户机的磁盘发布到局域网中了。关于vblade的安装与配置将在后面详细说明。
方案二:将客户机的系统镜像传送到SAN target服务器上的LVM磁盘上
方案二包含方案一的全部内容,不过我不是要是用客户机的磁盘文件,而是利用LVM诸多优点和功能,尤其是利用LVM的快照功能创建多个系统镜像,并为多台客户机使用。
配置LVM:
此处我用一个虚拟磁盘的两个分区来演示LVM的配置,以方便对LVM的快照(snapshot)功能演示,请大家按着自己实际硬盘数量及使用环境来配置LVM。
输入“fdisk -l”来查看服务器上的磁盘信息
进行磁盘分区(这里我将/dev/hdb分成两个分区)
输入“fdisk /dev/hdb” 回车
将显示如下信息:
输入“m”获得帮助,我们要用到的命令在图片中已经标出。
使用“p”命令打印一下硬盘信息:
输入“n”命令来创建分区:
输入“p”命令创建“主分区”
输入分区号(这里我输入的是“1”)
此时要求输入“开始扇区号”,我使用默认值“1”,直接回车就行。
此时要求输入“结束扇区号”,在这里我们使用“M或K”来指定分区大小,如 512M 或512000K,这里我输入“5201”,回车,此时我们已经成功创建好了一个分区。
按照以上步骤我们再创建一个分区,见下图:
输入“p”命令,打印一下分区信息。
此时分区的信息还是“83 Linux”,我们需要修改为“8e LVM”,输入“t”命令修改
System id。
此时要求输入要修改的分区号,这里我输入“1”,输入“l”可以查看所有文件系统类型的system id ,输入“8e”回车,完成修改。
按照以上步骤完成对第二个分区的修改,如下图:
输入“w”命令,写入分区表并退出。
输入“fdisk -l”看一下“成就”。
好了,systemID完成了,接下来我们该用命令pvcreate将物理分区新建成为PV。
其命令内容为: pvcreate /dev/hdb{1,2}
成功创建后,我们用pvscan验证一下:
成功新建PV后,我们还要新建VG,VG的名字为DiskLessVG,PE大小默认。
其命令内容为:vgcreate DidkLessVG /dev/hdb{1,2}
利用命令vgdisplay 查看一下我们新建的VG:
成功新建VG后,我们可以新建LV了,需要注意的地方是:LV的大小一定要能装下要提取的内容,我的为 4676M 。
其命令内容为:lvcreate –L 4676M –n SystemIMG DiskLessVG
利用lvdisplay查看一下:
好了,我们的LVM 已经准备好了。下面要做的事情是利用dd提取磁盘镜像到LVM磁盘上去。我们在“方案一”中已经将客户机的磁盘(我的是/dev/hda)“挂”到了服务器上了,我们利用
fdisk –l /dev/hda 确认一些信息:
我们需要将/dev/hda1这个分区完整地提取出来。(当然我们可以将整个磁盘提取出来,不过这是多么浪费啊,比如一个容量为 80G 的硬盘这个分区却只用到了 15G ,那么我们浪费了 65G !)。
上图中我们需要从fdisk的输出中获得的关键数字有每个柱面的byte数(上例的是8225280)和分区结束的柱面号(上例的是522)。
一旦我们确定了数字,我们就可以使用一下命令,提取磁盘相关部分:
dd if=/dev/sdX of=/path/to/image/file.img bs=8225280 count=522
注意:这里的8225280 和522 应当修改为你的实际数值。
这个命令将把磁盘的相关部分提取到SAN target 服务器的一个文件中,请注意,dd读取的是/dev/sdX 而不是/dev/sdX1(分区装置);我们不能只提取分区因为我们需要位于磁盘最开始的MBR(Master Boot Record)。
因为我是将客户机的磁盘文件提取到SAN target服务器上的LVM磁盘上,所以我输入
dd if=/dev/hda of=/dev/DiskLessVG/SystemIMG bs=8225280 count=522 (此操作数据量大,所以用时相对较长,请耐心等待)结果见下图
好了,镜像提取完成了,该校验一下它是否有效了:
检查你提取的文件是否是一个有效地磁盘镜像,我们用以下命令:
fdisk -l /dev/DiskLessVG/SystemIMG
你应当看到如下信息:
现在磁盘镜像在你SAN target服务器上是可用的了。接下来我们利用LVM的快照功能为客户机创建磁盘镜像,这里我创建两个名为Client1IMG 和 Client2IMG ,快照大小为 200M 。
使用lvdisplay 查看一下
这时你需要通过aoe协议使硬盘镜像为客户机使用。
本文出自 “实践记录” 博客,转载请与作者联系!