• 虚拟化之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 存储了,虚拟机的恢复就比较容易了。
  • 相关阅读:
    vue-cli常用配置
    浏览器进程线程时间循环、与vue netTick的实现原理
    WebSocket的兼容性
    hiper、sitespeed性能工具
    excel操作
    performance面板使用,以及解决动画卡顿
    axios设置了responseType: 'json‘’,ie问题
    docker服务重启
    Spring Boot AOP之对请求的参数入参与返回结果进行拦截处理
    python中几种单例模式的实现
  • 原文地址:https://www.cnblogs.com/createyuan/p/4271958.html
Copyright © 2020-2023  润新知