Xenserver 5.0双机共享NFS存储实践-----转自网络

 部署要求,主系统部署,基本操作,虚拟机故障修复,两种扩展linuxguest虚拟磁盘的方式,动态迁移,主系统nfs调整,快速复制,

1.       硬件要求

64位双核都支持amd虚拟化或intel vt架构。

本次测试硬件环境

  1台机器amd 双核64 5000+2G内存,160Gsata硬盘  A机器

  1台机器amd双核64 4800+ 2G内存, 160Gsata硬盘 B机器

  百兆网络

 

2.       主系统部署

1.       在两个主机安装xenserver 5.0 Enterprise 包含linux支持组件

2.       配置两台机器网络a 192.168.1.2  xm12 ,b 192.168.1.3 xm12

3.       在我的工作机(win192.168.1.4,安装xencenter分别连接两个主机

 

3.       基本操作

1.很简单通过xencenter的虚拟机模板可以部署一个公司所需要的系统,如redhat5

安装完毕后,关闭虚拟机。

可以进行guest host的复制,备份,转为模板。 一般常用复制和转为模板

4. 虚拟机故障修复

1.主系统崩溃,通过光盘12分钟内将恢复主系统

2.某个子系统崩溃,可以将其关机。把虚拟磁盘卸载再挂载到一个新建的虚拟系统上,进行数据迁移。确认完成迁移后,删除原始系统和原始盘。

5. linux guest扩容(windows的只需打开磁盘管理器即可管理)

1.首先关闭该虚拟机,xencenter中增大该虚拟机磁盘的容量

2.启动该guest,进入init2级别,fdisk –l 列出当前分区信息,删除想要扩容的分区,再新建一次。写入然后重启。最后通过resize2fs来完成磁盘的大小更新。

下面以redhat默认安装的lvm卷和我们自行分区的基本卷为例分别讲述步骤

A. xencenter中增加虚拟磁盘的容量,然后开机进入init2

    Device Boot      Start         End      Blocks   Id  System

/dev/xvda1   *           1          13      104391   83  Linux

/dev/xvda2              14        1044     8281507+  8e  Linux LVM

 

fdisk /dev/xvda

Command (m for help): d

删除第二个分区

Partition number (1-4): 2

Command (m for help): p

Disk /dev/xvda: 5767 MB, 5767168000 bytes

255 heads, 63 sectors/track, 701 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/xvda1 * 1 13 104391 83 Linux

 

建立第二个分区

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4): 2

First cylinder (14-701, default 14):

Using default value 14

Last cylinder or +size or +sizeM or +sizeK (14-701, default 701):

Using default value 701

修改第二个分区为lvm

Command (m for help): t

Partition number (1-4): 2

Hex code (type L to list codes): 8e

Changed system type of partition 2 to 8e (Linux LVM)

写入分区表

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table.

The new table will be used at the next reboot.

Syncing disks.

 

重启guest机器

进入init 2

 

pvresize -v /dev/xvda2

Using physical volume(s) on command line

Archiving volume group VolGroup00 metadata (seqno 5).

Resizing physical volume /dev/xvda2 from 115 to 168 extents.

Resizing volume /dev/xvda2 to 11052336 sectors.

Updating physical volume /dev/xvda2

Creating volume group backup /etc/lvm/backup/VolGroup00 (seqno 6).

Physical volume /dev/xvda2 changed

1 physical volume(s) resized / 0 physical volume(s) not resized

重新识别卷大小

 

7) lvextend -l +100%FREE /dev/VolGroup00/LogVol00

Extending logical volume LogVol00 to 5.25 GB

Logical volume LogVol00 successfully resized

resize2fs /dev/VolGroup00/LogVol00

resize2fs 1.39 (29-May-2006)

Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required

Performing an on-line resize of /dev/VolGroup00/LogVol00 to 1376256 (4k) blocks.

The filesystem on /dev/VolGroup00/LogVol00 is now 1376256 blocks long.

拓展卷利用所有空余空间

 

resize2fs /dev/mapper/VolGroup00-LogVol00

在线调整文件系统大小

 

 

B.传统分区,我们要增加/home 大小

Filesystem            Size  Used Avail Use% Mounted on

/dev/xvda1              15G  322M   14G   3% /

/dev/xvda2             173G  188M  164G   1% /home

/dev/xvda3              19G  1.8G   17G  10% /usr

/dev/xvda4              19G  237M   18G   2% /var

tmpfs                 252M     0  252M   0% /dev/shm

 

A中的fdisk删除要扩展的分区之前的步骤一致。

这里删除/dev/xvda2

再建立改分区,写入分区表,重启 进入init 2

 

umount /dev/xvda2

e2fsck -f /dev/xvda2

resize2fs /dev/xvda2

重启

该分区完成增大

 

 
 

6. 主系统nfs调整(目前我们的两台xenserver之间由于没磁盘整列或第三方nfs服务器无法实现数据共享,也就不能动态迁移,快速复制)

下面的操作将对其中一台xenserver进行改造以实现在上面建立NFS共享(本操作具有一定的危险性,请勿在重要生产服务器上使用:如将破坏xenserverlvm存储,上面的虚拟机将无法动态增加容量,只能通过挂载新空盘增容)

这次我们只改造一台,用于临时测试和快速备份,恢复虚拟机到未改造的xenserver上。

 

使用xencenter连接xm13,点击console

输入xe sr-list type=lvm   复制并记下sr的对应uuid

输入xe pbd-list sr-uuid=你的SR UUID 检测uuid对应的物理存储块pbduuid,复制并记下pbd对应uuid

 

xe pbd-unplug uuid你的 PBD UUID     断开本地存储的sr

xe sr-destroy uuid=你的SR UUID 移除本地存储的sr              

至此你可以看到xencenter上面的local storage不见了。

 

再次输入xe sr-list type=lvm 发现 local storage的确不存在了。

 

建立ext3文件系统

Fdisk –l

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1         499     4008186   83  Linux

/dev/sda2             500         998     4008217+  83  Linux

/dev/sda3             999       19457   148271917+  83  Linu

Mkfs –t ext3 /dev/sda3

 

建立nfs 服务器,修改/etc/exports  使其异步存储,只能xenserver之间互访

修改 /etc/fstab 自动挂载 /dev/sda3

 

但重启后,你会发现分区挂载oknfs只能使用127.0.0.1连接。

停止防火墙或 修改/etc/sysconfig/iptables开放 111 2049端口

xenserver mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive

xenserver nfs System Error: Connection refused.

但你还是会发现可恶的nfs还是不能用。 看看下面的文件内容你就明白了。

cat /etc/sysconfig/network

NETWORKING=yes

#PMAP_ARGS=-l           portmap只监听本地回环,注释掉即可

STATD_PORT=600

STATD_OUTGOING_PORT=601

HOSTNAME=xenserver-xm11

GATEWAYDEV=xenbr0

 

建立spool,使得两台机器在一个spool下,再建立共享NFS storage,至此xenserverNFS双机共享完成。

 

7.动态迁移

我们将yum server建立在xenserver 13NFS上,开机后使用putty连接yum并进行基本操作,在xencenter上选择migrate xm12。你会惊奇的发现putty的连接没断开,还能进行交互操作,貌似没有中断。不到两分钟yum已经完全跑在xm12上面了。

8.快速复制

 Xenserver传统方式复制虚拟机和以模板建立虚拟机的速度挺慢的,快速方式是基于共享存储,速度的确让人惊喜。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章