虚拟化之xenserver

安装XenServer系统的硬盘大小为1T,自身存放10来个虚拟硬盘为50G的虚拟机不成问题。但在实际应用中,由于通过nfs等方式使用异地存储, 本地硬盘用作存放虚拟机的元数据,因此安装XenServer系统的硬盘,即sda,一般都不会用大容量硬盘,以免浪费。

但是,假如只有一台服务器用来搭建XenServer平台,且作为系统使用盘的sda容量比较小的话(比如说是一个146G的SAS硬盘),就需要通过增加硬盘设备(比如增加一个大小为300G的SAS硬盘,即sdb),以提供足够的存储空间给新增的虚拟机。

一般都用共享存储,不将虚拟机放在系统盘上,本地硬盘只做为xenserver系统的驻留而已。所以构想是否可以用电子盘。数据盘要么在本地挂另一块硬盘,要么使用异地的共享存储。

虚拟机自动启动

###先查看要启动的虚拟机uuid,再用第二条命令设置自动启动。

[root@xenserver-flt ~]# xe vm-list

[root@xenserver-flt ~]# xe vm-param-set uuid=6beb4fca-7b93-d9fb-bcd2-dad6354738e4 other-config:auto_poweron=true

[root@xenserver-ylmunndq ~]# xe host-list
uuid ( RO)                : 40c4d5a8-d046-4f4f-940a-4926845f0cbb
          name-label ( RW): xenserver-ylmunndq
    name-description ( RW): Default install of XenServer

[root@xenserver-ylmunndq ~]# xe sr-list uuid ( RO) : 5fe4cd86-6de6-72fe-cee5-1161525a5488 name-label ( RW): XenServer Tools name-description ( RW): XenServer Tools ISOs host ( RO): xenserver-ylmunndq type ( RO): iso content-type ( RO): iso uuid ( RO) : ef8a4c3b-6f74-8625-fc39-073ce0a61a8a name-label ( RW): Removable storage name-description ( RW): host ( RO): xenserver-ylmunndq type ( RO): udev content-type ( RO): disk uuid ( RO) : 4845bb7f-97ab-ab7c-4025-73763c4e703a name-label ( RW): Local storage name-description ( RW): host ( RO): xenserver-ylmunndq type ( RO): lvm content-type ( RO): user uuid ( RO) : 73641ef2-ff89-6153-a1c6-9c39b8da4465 name-label ( RW): DVD drives name-description ( RW): Physical DVD drives host ( RO): xenserver-ylmunndq type ( RO): udev content-type ( RO): iso
####pbd与sr是一一对应的,看pbd的sr-uuid行与sr的uuid行对应

[root@xenserver-ylmunndq ~]# xe pbd-list uuid ( RO) : 49d666b5-1e45-8596-5b0d-7a40661f3d26 host-uuid ( RO): 40c4d5a8-d046-4f4f-940a-4926845f0cbb sr-uuid ( RO): 4845bb7f-97ab-ab7c-4025-73763c4e703a device-config (MRO): device: /dev/disk/by-id/scsi-SATA_ST3500413AS_5VMXK89X-part3 currently-attached ( RO): true uuid ( RO) : 23d6bc37-aea2-a32d-7d75-1886bd8f2ab9 host-uuid ( RO): 40c4d5a8-d046-4f4f-940a-4926845f0cbb sr-uuid ( RO): 73641ef2-ff89-6153-a1c6-9c39b8da4465 device-config (MRO): location: /dev/xapi/cd currently-attached ( RO): true uuid ( RO) : 22990232-c1c5-6067-cdb0-2e8bb3406a1f host-uuid ( RO): 40c4d5a8-d046-4f4f-940a-4926845f0cbb sr-uuid ( RO): ef8a4c3b-6f74-8625-fc39-073ce0a61a8a device-config (MRO): location: /dev/xapi/block currently-attached ( RO): true uuid ( RO) : 0ec239f4-b9e7-7305-330f-5f892b527fc6 host-uuid ( RO): 40c4d5a8-d046-4f4f-940a-4926845f0cbb sr-uuid ( RO): 5fe4cd86-6de6-72fe-cee5-1161525a5488 device-config (MRO): location: /opt/xensource/packages/iso; legacy_mode: true currently-attached ( RO): true

查看xenserver后台任务
[root@xenserver-ylmunndq ~]# xe task-list
uuid ( RO)                : 6b3673b7-90d5-3723-5d7a-8a8ddc214fa3
          name-label ( RO): Connection to VM console
    name-description ( RO):
              status ( RO): pending
            progress ( RO): 0.000
[root@xenserver-ylmunndq ~]# service xapi status
xapi (pid  6220) is running...


[root@xenserver-ylmunndq ~]# cat /proc/partitions
major minor  #blocks  name

   7        0      52378 loop0
   8        0  488386584 sda
   8       16  488386584 sdb
   8       17    4193297 sdb1
   8       18    4193297 sdb2
   8       19  479996935 sdb3
 252        0       4096 dm-0

[root@xenserver-ylmunndq ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb1             4.0G  1.9G  2.0G  49% /
none                  373M   36K  373M   1% /dev/shm
/opt/xensource/packages/iso/XenCenter.iso
                       52M   52M     0 100% /var/xen/xc-install

如上面两条命令所示,有三个分区,但只能看见一个分区
XenServer的默认分区一般由三部分组成:第一个4G分区为XenServer根分区;第二个4G分区为升级操作的备份分区;第三个分区一般为磁盘的剩余空间,用于Local Storage使用。后两者都是看不见、不用作于其他存储的。
那么,XenServer如何实现存储扩充呢?在XenServer中的引入存储仓库的概念,存储仓库(SR - Storage Repositories)是用来存储ISO或者VDI的。Citrix官方推荐使用共享存储,这也是XenServer设计的初衷和目标,与 VMWare的产品设计很不相同。目前XenServer支持FC SAN、ISCSI SAN和NFS三种存储类型,根据虚拟化类型不同,划分不同的LUN类型来满足使用。此处涉及到存储服务器,对设备成本是有要求的。

如果应用环境相对简单,比如说,只有一台Dell R720服务器,那又该如何把XenServer玩起来呢?方法当然是有的,就是通过添加一个硬盘,来达到扩充存储的效果。
wKiom1Oj8h-hc6b4AABL9O1prIk793.jpg

存储库 (SR) 虚拟磁盘映像 (VDI) 物理块设备 (PBD) 虚拟块设备 (VBD)  xen virtual block device (xvda)就是一块磁盘
SR 具有对本地连接的 IDE、SATA、SCSI 和 SAS驱动器和远程连接的 iSCSI、NFS、SAS 和光纤通道的内置支持,因而非常灵活。

其中,PBD为物理存储设备的抽象,基本无法改变,SR为XenServer对物理存储设备的抽象,起到组织管理的作用,SR的类型对虚机VDI的格式以及性能有一定的影响,但是SR的类型受限制于物理存储的形式,所以,暂停也跳过,VBD与VDI对应,而最终VM拿到的虚拟块设备VBD,则为VDI的虚拟,所以,SR中VDI的格式对存储空间消耗以及性能产生比较重要的影响。

存储仓库通过物理块设备(PBD)与XenServer相连接,PBD包含了存储仓库(SR)的配置信息。当要从XenServer主机上分离或者删除SR之前,很有必要先将PBD断开。

1.XS创建本地存储 首先 分区好的的硬盘接到服务器上 查看所有硬盘了的id ls -l /dev/disk/by-id/ 记下硬盘的全称.接下来开始挂载 xe sr-create type=lvm content-type=user device-config:device=/dev/disk/by-id/edd-int13_dev81-part1 name-label="Local storage 2"

这是在本地第一个分区即系统盘创建的sr
mkdir /mnt/iso
xe sr-create type=iso content-type=iso device-config:location=/mnt/iso device-config:legacy_mode=true name-label=vmiso device-config:device=/dev/disk/by-id/后面跟的是刚才记下的SCSI name-label="Local storage 2"是你需要创建的名字.可以任意更改 如: xe sr-create type=lvm content-type=user device-config:device=/dev/disk/by-id/scsi-SATA_VMware_Virtual_01000000000000000001 name-label="Local storage 2" 2.XS删除本地存储连接
命令行sr的添加与删除操作
[root@xenserver-ylmunndq ~]# mkdir /mnt/iso
[root@xenserver-ylmunndq ~]# xe sr-create type=iso content-type=iso device-config:location=/mnt/iso device-config:legacy_mode=true name-label=vmiso
创建之后,sr-detory或者sr-forget都是不行的,必须先pbd-list查询再pbd-unplug后,只有当sr为空时才可以destory(否则只能forget)

[root@xenserver-ylmunndq ~]# xe pbd-list sr-uuid=a6390708-30a6-b3bf-9389-9a9777159462
uuid ( RO)                  : a357aa89-94ef-a2d8-6e2c-10a1f7b25cac
             host-uuid ( RO): 40c4d5a8-d046-4f4f-940a-4926845f0cbb
               sr-uuid ( RO): a6390708-30a6-b3bf-9389-9a9777159462
         device-config (MRO): location: /mnt/iso; legacy_mode: true
    currently-attached ( RO): true
[root@xenserver-ylmunndq ~]# xe sr-destroy uuid=a6390708-30a6-b3bf-9389-9a9777159462
The SR is still connected to a host via a PBD. It cannot be destroyed or forgotten.
sr: a6390708-30a6-b3bf-9389-9a9777159462 (vmiso)
[root@xenserver-ylmunndq ~]# xe pbd-unplug uuid=a357aa89-94ef-a2d8-6e2c-10a1f7b25cac  上一步查询的PBD的UUID
[root@xenserver-ylmunndq ~]# xe sr-destroy uuid=a6390708-30a6-b3bf-9389-9a9777159462
The SR operation cannot be performed because the SR is not empty.
[root@xenserver-ylmunndq ~]# xe sr-forget uuid=a6390708-30a6-b3bf-9389-9a9777159462

[root@xenserver-ylmunndq lvm]# pvscan
  PV /dev/sdc3   VG VG_XenStorage-4845bb7f-97ab-ab7c-4025-73763c4e703a   lvm2 [457.75 GB / 457.75 GB free]
  PV /dev/sdb    VG VG_XenStorage-e4d10b8c-de2d-2e64-c386-3fee17bf7f4f   lvm2 [465.75 GB / 263.30 GB free]
  PV /dev/sda3   VG VG_XenStorage-85ce0366-7bf3-c074-ca54-d3a9f908e3db   lvm2 [457.75 GB / 244.71 GB free]
  Total: 3 [1.35 TB] / in use: 3 [1.35 TB] / in no VG: 0 [0   ]

做了下面这一步后,数据丢失。
[root@xenserver-ylmunndq ~]# xe sr-create type=lvm content-type=user device-config:device=/dev/disk/by-id/scsi-SATA_ST500DM002-1BD1_W2AB306K-part3  name-label="baddisk-part3"

[root@xenserver-ylmunndq ~]# pvscan
  PV /dev/sdc3   VG VG_XenStorage-4845bb7f-97ab-ab7c-4025-73763c4e703a   lvm2 [457.75 GB / 449.72 GB free]
  PV /dev/sdb    VG VG_XenStorage-e4d10b8c-de2d-2e64-c386-3fee17bf7f4f   lvm2 [465.75 GB / 263.30 GB free]
  Total: 2 [923.50 GB] / in use: 2 [923.50 GB] / in no VG: 0 [0   ]


几个名称
共三个分区,系统盘,备份盘,pv盘。备份盘与pv盘在xenserver命令行下不可见,而pv盘在gui界面下就是默认的sr存储库。
系统盘:root-jpntswox
系统盘id:614e1843-2abf-4d9a-95a9-8bb270b550d6
主机名:xenserver-ylmunndq
主机id:40c4d5a8-d046-4f4f-940a-4926845f0cbb
pvid:VG_XenStorage-4845bb7f-97ab-ab7c-4025-73763c4e703a

[root@xenserver-ylmunndq lvm]# ll /dev/disk/by-label/
total 0
lrwxrwxrwx 1 root root 10 Sep  6 17:16 root-aojbkkoh -> ../../sda1
lrwxrwxrwx 1 root root 10 Sep  6 17:16 root-jpntswox -> ../../sdc1

[root@xenserver-ylmunndq lvm]# xe host-list
uuid ( RO)                : 40c4d5a8-d046-4f4f-940a-4926845f0cbb
          name-label ( RW): xenserver-ylmunndq
    name-description ( RW): Default install of XenServer


在XC(xencenter)上删除一个sr过程是
先在某个nfs iso library上右击
1.先将驻留在这个nfs上的磁盘与文件在相应的虚拟机中去掉
2.再detach
3.可以重reattch或者forget
forget后就彻底删除了,以后需要重新添加。

故障描述:由于停电导致xenserver开机后文件系统损坏,不能启动,因此考虑恢复方案。

http://zhangyu.blog.51cto.com/197148/1184910/    对xenserver恢复有帮助

xenserver 6.2无法启动时

http://blog.chinaunix.net/uid-7445427-id-4314749.html  在此找到解决办法,但是很可惜,晚了一步,在此之前已经有误操作,将一个pv用一个sr-create命令做掉了。

思路
1.可以重新安装(升级)此块磁盘上的xenserver,不过是在没有勇气。采用以下方案
2.新装一台同样的Xenserver ,把旧的硬盘作为新服务器的存储空间使用。新Xenserver安装完成,测试启动没有问题,关机,添加新硬盘,重新启动。

[root@xenserver-bf ~]# pvscan
  PV /dev/sdb3   VG VG_XenStorage-39947d67-736e-2ab3-8d2a-c17032c576a4   lvm2 [923.50 GB / 93.63 GB free]  # 记住 39947d67-736e-2ab3-8d2a-c17032c576a4  
  PV /dev/sda3   VG VG_XenStorage-29a1f2c8-172b-3f4e-6c11-0810b8152443   lvm2 [457.75 GB / 457.75 GB free]
  Total: 2 [1.35 TB] / in use: 2 [1.35 TB] / in no VG: 0 [0   ] 

[root@xenserver-bf ~]# ls -l /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root  9 Jun 18 13:52 edd-int13_dev81 -> ../../sdb
lrwxrwxrwx 1 root root 10 Jun 18 13:52 edd-int13_dev81-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Jun 18 13:52 edd-int13_dev81-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Jun 18 13:52 edd-int13_dev81-part3 -> ../../sdb3
lrwxrwxrwx 1 root root  9 Jun 18 13:52 scsi-SATA_ST1000DM003-9YN_W1D0NM3Y -> ../../sdb
lrwxrwxrwx 1 root root 10 Jun 18 13:52 scsi-SATA_ST1000DM003-9YN_W1D0NM3Y-part1 -> ../../sdb1 # Xenserver 分区
lrwxrwxrwx 1 root root 10 Jun 18 13:52 scsi-SATA_ST1000DM003-9YN_W1D0NM3Y-part2 -> ../../sdb2 # Xenserver 升级备份分区
lrwxrwxrwx 1 root root 10 Jun 18 13:52 scsi-SATA_ST1000DM003-9YN_W1D0NM3Y-part3 -> ../../sdb3 # 注意这个就是旧的LVM2 分区
lrwxrwxrwx 1 root root  9 Jun 18 13:52 scsi-SATA_ST500DM002-1BD1_S2AS5NMB -> ../../sda
lrwxrwxrwx 1 root root 10 Jun 18 13:52 scsi-SATA_ST500DM002-1BD1_S2AS5NMB-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Jun 18 13:52 scsi-SATA_ST500DM002-1BD1_S2AS5NMB-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Jun 18 13:52 scsi-SATA_ST500DM002-1BD1_S2AS5NMB-part3 -> ../../sda3

[root@xenserver-bf ~]# xe host-list
uuid ( RO)                : 6f591a02-0c02-4adf-b8ba-1ac158864b14                              #记住此号
          name-label ( RW): xenserver-bf
    name-description ( RW): Default install of XenServer

[root@xenserver-bf ~]# xe sr-introduce uuid=39947d67-736e-2ab3-8d2a-c17032c576a4 type=lvm name-label="mrecover" content-type=user # 引入
39947d67-736e-2ab3-8d2a-c17032c576a4
[root@xenserver-bf ~]# xe pbd-create sr-uuid=39947d67-736e-2ab3-8d2a-c17032c576a4 device-config:device=/dev/disk/by-id/scsi-SATA_ST1000DM003-9YN_W1D0NM3Y-part3 host-uuid=6f591a02-0c02-4adf-b8ba-1ac158864b14
b7e133b7-e9af-39e7-9926-4eb231c164ea
[root@xenserver-bf ~]# xe pbd-plug uuid=b7e133b7-e9af-39e7-9926-4eb231c164ea

这样就能看到新的mrecover 存储了,虚拟机的恢复就比较容易了。
原文地址:https://www.cnblogs.com/createyuan/p/4271958.html