实录-XenServer导入基于LVM的Storage Repository

说明:这是很多年前的基于txt文档的操作记录,需要重新导入SR的具体原因早已不记得,下文仅涉及导入操作的技术要点。

XenServer与虚拟机相关的对象一般都存储在Storage Repository(后文简称SR)里面的,一个SR可以是用于存放VM虚拟磁盘的,也可能是用于存放ISO文件。然后,Host本机挂载的可移动存储(光驱、USB)也是以SR对象形式存在的。

先枚举当前SR和PBD列表,相关命令:xe sr-list及xe pbd-list

[[email protected] ~]# xe sr-list 
uuid ( RO)                : 640b1256-8896-7730-b164-52e4b3671b04
          name-label ( RW): Removable storage
    name-description ( RW): 
                host ( RO): xenmbr
                type ( RO): udev
        content-type ( RO): disk
uuid ( RO)                : dba2c892-2954-486f-942b-53b30b12895e
          name-label ( RW): XenServer Tools
    name-description ( RW): XenServer Tools ISOs
                host ( RO): xenmbr
                type ( RO): iso
        content-type ( RO): iso
uuid ( RO)                : 2df9c74a-303f-6247-cd24-4b20dea67730
          name-label ( RW): DVD drives
    name-description ( RW): Physical DVD drives
                host ( RO): xenmbr
                type ( RO): udev
        content-type ( RO): iso
[[email protected] ~]# xe pbd-list 
uuid ( RO)                  : ebdf1144-3516-f623-122b-15895d07e24f
             host-uuid ( RO): 074ff44e-4d73-47ee-8b72-b17514180cfd
               sr-uuid ( RO): 2df9c74a-303f-6247-cd24-4b20dea67730
         device-config (MRO): location: /dev/xapi/cd
    currently-attached ( RO): true
uuid ( RO)                  : 32a00247-3b74-94e1-666e-4f092d453edd
             host-uuid ( RO): 074ff44e-4d73-47ee-8b72-b17514180cfd
               sr-uuid ( RO): dba2c892-2954-486f-942b-53b30b12895e
         device-config (MRO): location: /opt/xensource/packages/iso; legacy_mode: true
    currently-attached ( RO): true
uuid ( RO)                  : 4c701025-305e-b3bf-1577-643ef80cf717
             host-uuid ( RO): 074ff44e-4d73-47ee-8b72-b17514180cfd
               sr-uuid ( RO): 640b1256-8896-7730-b164-52e4b3671b04
         device-config (MRO): location: /dev/xapi/block
    currently-attached ( RO): true

在标题中已提供的信息是本次操作是针对LVM类型的SR,故可以通过LVM相关命令来确认PV/VG/LV三类信息,其中PV需要提取提的信息是SR的UUID及实际物理设备,PV/VG则用于双重确认需要操作的存储对象是否正确,LV则可第三次确认操作对象是否正确,因为LV就是早前创建(存在)的VDI虚拟磁盘对象,若是尚有印象目标SR上有过哪些大小的虚拟磁盘不就可以用来反向确认SR么?

[[email protected] ~]# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               VG_XenStorage-8397b362-1b90-123f-4b1a-b6f0e0e79bdd
  PV Size               387.91 GB / not usable 6.47 MB
  Allocatable           yes 
  PE Size (KByte)       4096
  Total PE              99303
  Free PE               68518
  Allocated PE          30785
  PV UUID               Pg2OhF-F1W9-TppY-vhkA-TKyb-4viY-sPtqPe
   
[[email protected] ~]# vgdisplay 
  --- Volume group ---
  VG Name               VG_XenStorage-8397b362-1b90-123f-4b1a-b6f0e0e79bdd
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  10
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               387.90 GB
  PE Size               4.00 MB
  Total PE              99303
  Alloc PE / Size       30785 / 120.25 GB
  Free  PE / Size       68518 / 267.65 GB
  VG UUID               z9AOrV-LDu2-Xz7i-ZBQJ-s3qR-DUAc-D8tTEK
   
[[email protected] ~]# lvdisplay 
  --- Logical volume ---
  LV Name                /dev/VG_XenStorage-8397b362-1b90-123f-4b1a-b6f0e0e79bdd/VHD-ac56e8c6-c2fe-4c7f-bab7-15d0bbc9039c
  VG Name                VG_XenStorage-8397b362-1b90-123f-4b1a-b6f0e0e79bdd
  LV UUID                qLMwFl-jm0U-haXg-6e2c-5gH1-1vRO-WBnScY
  LV Write Access        read/write
  LV Status              NOT available
  LV Size                20.05 GB
  Current LE             5132
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
   
  --- Logical volume ---
  LV Name                /dev/VG_XenStorage-8397b362-1b90-123f-4b1a-b6f0e0e79bdd/MGT
  VG Name                VG_XenStorage-8397b362-1b90-123f-4b1a-b6f0e0e79bdd
  LV UUID                2UoSNK-1bNJ-XZWb-c8UE-4qNi-ZB6M-YADFCT
  LV Write Access        read/write
  LV Status              NOT available
  LV Size                4.00 MB
  Current LE             1
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
   
  --- Logical volume ---
  LV Name                /dev/VG_XenStorage-8397b362-1b90-123f-4b1a-b6f0e0e79bdd/VHD-a5eb5cfa-9090-436d-bce6-de7294021c71
  VG Name                VG_XenStorage-8397b362-1b90-123f-4b1a-b6f0e0e79bdd
  LV UUID                Iqx7L9-mcK1-21VB-ZXJ2-CbKr-c2z0-dD4Hda
  LV Write Access        read/write
  LV Status              NOT available
  LV Size                100.20 GB
  Current LE             25652
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto

上面输出中

  1. PV Name就是物理设备(磁盘)对象(/dev/sda3)
  2. VG Name(VG_XenStorage-8397b362-1b90-123f-4b1a-b6f0e0e79bdd)后面的长串字符就是SR的UUID(8397b362-1b90-123f-4b1a-b6f0e0e79bdd)了
  3. LV Name中VHD-开头的则是VDI虚拟磁盘,类似的后面的长串字符也是VDI的UUID(ac56e8c6-c2fe-4c7f-bab7-15d0bbc9039c & a5eb5cfa-9090-436d-bce6-de7294021c71)
  4. LV Size就是VDI虚拟磁盘的大小了

导入过程主要步骤

  1. 查找设备ID
  2. 探测SR metadata信息
  3. 导入SR
  4. 连接SR

查找设备ID

为什么要找设备ID呢?

这个问题与DNS-IP的关系有点类似,DNS是为了方便记忆,但是实际的会话过程还是需要落到实际IP而不是DNS。那么从操作系统来讲,设备名命名只是方便阅读而已,而为了保证准确性,系统认的可是设备ID,因为设备名可能有冲突,而设备ID则一般不会重复的。而存储设备一般使用SCSI ID来标识,所以需要查找的是SCSI ID而不是Device Name。

[[email protected] ~]# ll /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root  9 May 21 12:19 scsi-3600605b002e3f320172790001a2ad4c1 -> ../../sda
lrwxrwxrwx 1 root root 10 May 21 12:19 scsi-3600605b002e3f320172790001a2ad4c1-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 May 21 12:19 scsi-3600605b002e3f320172790001a2ad4c1-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 May 21 12:19 scsi-3600605b002e3f320172790001a2ad4c1-part3 -> ../../sda3
#从输出可以看到sda3的设备ID是scsi-3600605b002e3f320172790001a2ad4c1-part3,将这个记录下来,下一步需要使用到

探测SR metadata信息

使用xe sr-probe命令来探测物理设备的SR metadata,如下

[[email protected] ~]# xe sr-probe type=lvm device-config:device=/dev/disk/by-id/scsi-3600605b002e3f320172790001a2ad4c1-part3
<?xml version="1.0" ?>
<SRlist>
<SR>
<UUID>
8397b362-1b90-123f-4b1a-b6f0e0e79bdd
</UUID>
<Devlist>
/dev/disk/by-id/scsi-3600605b002e3f320172790001a2ad4c1-part3
</Devlist>
</SR>
</SRlist>
#可以看到这个设备是XenServer的SR,UUID为8397b362-1b90-123f-4b1a-b6f0e0e79bdd,设备只有一个/dev/disk/by-id/scsi-3600605b002e3f320172790001a2ad4c1-part3

导入SR

在上一步已经成功检测出SR,下一步就是导入,使用xe sr-introduce命令,下文中的uuid、content-type、type和name-label全部为必须的输入参数

[[email protected] ~]# xe sr-introduce uuid=8397b362-1b90-123f-4b1a-b6f0e0e79bdd content-type=user type=lvm name-label=intrlvm
8397b362-1b90-123f-4b1a-b6f0e0e79bdd
#如果成功会回显SR的uuid
#可以后续用xe sr-list及xe sr-param-list来确认新导入的SR信息
[[email protected] ~]# xe sr-list 
uuid ( RO)                : 640b1256-8896-7730-b164-52e4b3671b04
          name-label ( RW): Removable storage
    name-description ( RW): 
                host ( RO): xenmbr
                type ( RO): udev
        content-type ( RO): disk
uuid ( RO)                : 8397b362-1b90-123f-4b1a-b6f0e0e79bdd
          name-label ( RW): intrlvm
    name-description ( RW): 
                host ( RO): <not in database>
                type ( RO): lvm
        content-type ( RO): user
#此时host字段显示not in database是正常的,plug pbd后方可显示
uuid ( RO)                : dba2c892-2954-486f-942b-53b30b12895e
          name-label ( RW): XenServer Tools
    name-description ( RW): XenServer Tools ISOs
                host ( RO): xenmbr
                type ( RO): iso
        content-type ( RO): iso
uuid ( RO)                : 2df9c74a-303f-6247-cd24-4b20dea67730
          name-label ( RW): DVD drives
    name-description ( RW): Physical DVD drives
                host ( RO): xenmbr
                type ( RO): udev
        content-type ( RO): iso
[[email protected] ~]# xe sr-param-list uuid=8397b362-1b90-123f-4b1a-b6f0e0e79bdd 
uuid ( RO)                    : 8397b362-1b90-123f-4b1a-b6f0e0e79bdd
              name-label ( RW): intrlvm
        name-description ( RW): 
                    host ( RO): <not in database>
      allowed-operations (SRO): forget; VDI.create; VDI.snapshot; plug; update; destroy; VDI.destroy; scan; VDI.clone; VDI.resize; unplug
      current-operations (SRO): 
                    VDIs (SRO): 
                    PBDs (SRO): 
      virtual-allocation ( RO): 0
    physical-utilisation ( RO): -1
           physical-size ( RO): -1
                    type ( RO): lvm
            content-type ( RO): user
                  shared ( RW): false
           introduced-by ( RO): <not in database>
            other-config (MRW): 
               sm-config (MRO): 
                   blobs ( RO): 
     local-cache-enabled ( RO): false
                    tags (SRW): 
#PBDs字段无值是正常的

连接SR

前面已经导入了SR,但是还不能正常使用,为何呢?

这个过程可以这样类比,假设有个移动硬盘,已经接到了电脑上,但是操作系统禁止自动挂载硬盘分区,所以需要手动将硬盘分区挂载到OS里才能使用。

还很绕么?那可以直接理解为移动硬盘的数据线还没接到电脑上。

连接SR的过程,其实就是创建PBD并Plug in PBD

使用xe pbd-create来创建pbd,使用xe pbd-plug来连接pbd

[[email protected] ~]# xe pbd-create sr-uuid=8397b362-1b90-123f-4b1a-b6f0e0e79bdd host-uuid=074ff44e-4d73-47ee-8b72-b17514180cfd device-config:device=/dev/disk/by-id/scsi-3600605b002e3f320172790001a2ad4c1-part3
39712cc2-611a-1f17-b4c2-8d67c41d2456
#如果操作成功会回显PBD的uuid
#接下来可以用xe pbd-list来确认新创建的pbd
[[email protected] ~]# xe pbd-list
uuid ( RO)                  : ebdf1144-3516-f623-122b-15895d07e24f
             host-uuid ( RO): 074ff44e-4d73-47ee-8b72-b17514180cfd
               sr-uuid ( RO): 2df9c74a-303f-6247-cd24-4b20dea67730
         device-config (MRO): location: /dev/xapi/cd
    currently-attached ( RO): true
uuid ( RO)                  : 32a00247-3b74-94e1-666e-4f092d453edd
             host-uuid ( RO): 074ff44e-4d73-47ee-8b72-b17514180cfd
               sr-uuid ( RO): dba2c892-2954-486f-942b-53b30b12895e
         device-config (MRO): location: /opt/xensource/packages/iso; legacy_mode: true
    currently-attached ( RO): true
uuid ( RO)                  : 4c701025-305e-b3bf-1577-643ef80cf717
             host-uuid ( RO): 074ff44e-4d73-47ee-8b72-b17514180cfd
               sr-uuid ( RO): 640b1256-8896-7730-b164-52e4b3671b04
         device-config (MRO): location: /dev/xapi/block
    currently-attached ( RO): true
uuid ( RO)                  : 39712cc2-611a-1f17-b4c2-8d67c41d2456
             host-uuid ( RO): 074ff44e-4d73-47ee-8b72-b17514180cfd
               sr-uuid ( RO): 8397b362-1b90-123f-4b1a-b6f0e0e79bdd
         device-config (MRO): device: /dev/disk/by-id/scsi-3600605b002e3f320172790001a2ad4c1-part3
    currently-attached ( RO): false
#currently-attached的值为false表示未plug in该pbd
#检查未plug in pbd时的SR参数
[[email protected] ~]# xe sr-param-list uuid=8397b362-1b90-123f-4b1a-b6f0e0e79bdd 
uuid ( RO)                    : 8397b362-1b90-123f-4b1a-b6f0e0e79bdd
              name-label ( RW): intrlvm
        name-description ( RW): 
                    host ( RO): xenmbr
      allowed-operations (SRO): forget; VDI.create; VDI.snapshot; plug; update; destroy; VDI.destroy; scan; VDI.clone; VDI.resize; unplug
      current-operations (SRO): 
                    VDIs (SRO): 
                    PBDs (SRO): 39712cc2-611a-1f17-b4c2-8d67c41d2456
      virtual-allocation ( RO): 0
    physical-utilisation ( RO): -1
           physical-size ( RO): -1
                    type ( RO): lvm
            content-type ( RO): user
                  shared ( RW): false
           introduced-by ( RO): <not in database>
            other-config (MRW): 
               sm-config (MRO): 
                   blobs ( RO): 
     local-cache-enabled ( RO): false
                    tags (SRW): 
#注意此时sm-config字段无任何值,待plug in pbd后才会有值
[[email protected] ~]# xe pbd-plug uuid=39712cc2-611a-1f17-b4c2-8d67c41d2456
#如果成功则无回显,有异常都会显示相关信息
#使用xe pbd-param-list来检查pbd状态
[[email protected] ~]# xe pbd-param-list uuid=39712cc2-611a-1f17-b4c2-8d67c41d2456 
uuid ( RO)                  : 39712cc2-611a-1f17-b4c2-8d67c41d2456
     host ( RO) [DEPRECATED]: 074ff44e-4d73-47ee-8b72-b17514180cfd
             host-uuid ( RO): 074ff44e-4d73-47ee-8b72-b17514180cfd
               sr-uuid ( RO): 8397b362-1b90-123f-4b1a-b6f0e0e79bdd
         device-config (MRO): device: /dev/disk/by-id/scsi-3600605b002e3f320172790001a2ad4c1-part3
    currently-attached ( RO): true
          other-config (MRW): 
#currently-attached状态为true表示已连接、挂载成功
#再次确认SR参数、状态
[[email protected] ~]# xe sr-param-list uuid=8397b362-1b90-123f-4b1a-b6f0e0e79bdd 
uuid ( RO)                    : 8397b362-1b90-123f-4b1a-b6f0e0e79bdd
              name-label ( RW): intrlvm
        name-description ( RW): 
                    host ( RO): xenmbr
      allowed-operations (SRO): forget; VDI.create; VDI.snapshot; plug; update; destroy; VDI.destroy; scan; VDI.clone; VDI.resize; unplug
      current-operations (SRO): 
                    VDIs (SRO): a5eb5cfa-9090-436d-bce6-de7294021c71; ac56e8c6-c2fe-4c7f-bab7-15d0bbc9039c
                    PBDs (SRO): 39712cc2-611a-1f17-b4c2-8d67c41d2456
      virtual-allocation ( RO): 129117454336
    physical-utilisation ( RO): 129121648640
           physical-size ( RO): 416506970112
                    type ( RO): lvm
            content-type ( RO): user
                  shared ( RW): false
           introduced-by ( RO): <not in database>
            other-config (MRW): 
               sm-config (MRO): allocation: thick; use_vhd: true; devserial: scsi-3600605b002e3f320172790001a2ad4c1
                   blobs ( RO): 
     local-cache-enabled ( RO): false
                    tags (SRW): 
#此时sm-config字段有值了

若是文中未提及的参数说明,请参考Citrix提供的XenServer Administrator‘s Guide中的Command Reference章节内容。

时间: 2024-11-11 18:35:26

实录-XenServer导入基于LVM的Storage Repository的相关文章

Linux-6.5下 MariaDB-10基于LVM快照的备份数据 详解

理解部分: LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性.LVM可以对分区在线扩容,快照,镜像和条带化,功能非常强大.这篇文章的主题就是其中一个功能--快照. 快照(Snapshot)就是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像.快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品: 其实

MySQL基于LVM快照的备份恢复

目录 1.数据库全备份 2.准备LVM卷 3.数据恢复到LVM卷 4.基于LVM快照备份数据 5.数据灾难恢复 6.总结 写在前面: 测试环境中已安装有mysql 5.5.36数据库,但数据目录没有存放在LVM卷,此次要演示基于LVM的数据备份和恢复,所以就把mysql的数据先迁移到LVM上再做快照卷的备份. 如果innodb表基于LVM来做备份,那事务日志文件和数据文件要在同一个LVM的逻辑卷上,因为在同一时刻我们只能对一个逻辑卷做快照,如果事务日志与数据文件不在同一卷上,那做快照后会导致事务

lvm-snapshot:基于LVM快照的备份之准备工作

选择lvm逻辑卷存储数据库数据目录的2大理由 (1) 一般来说,我们会将数据库的数据目录放在lvm逻辑卷上,因为数据库的数据增长速度可能会超出我们的预期 ,这样在将来即便是数据增长很快,我们也不必担心,因为lvm可以实现在线扩容 (2) 我们可以对数据目录做基于lvm快照的备份 1.创建用于存储数据目录lvm设备 1.1 创建一个新分区,并修改分区类型 # echo -e 'n\np\n1\n\n+10G\nw\n'|fdisk /dev/sdb # echo -e 't\n8e\np\nw\n

lvm-snapshot:基于LVM快照的备份

续 lvm-snapshot:基于LVM快照的备份之准备工作 Attention,Please! 重头戏开始啦 3.基于LVM快照的备份 (1)事务日志跟数据文件必须在同一个卷上: (2)创建快照卷之前,要请求MySQL的全局锁:在快照创建完成之后释放锁: (3)请求全局锁完成之后,做一次日志滚动:做二进制日志文件及位置标记(手动进行): 备份步骤: 3.1 请求全局锁,并滚动日志 MariaDB [hellodb]> FLUSH TABLES WITH READ LOCK; MariaDB [

Linux札记2-esxi上为基于基于LVM的centos7的根目录扩容

======= 概念:据说默认centos都是基于LVM的 LVM:LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制. LVM 更加详细的说明可点这里:http://www.cnblogs.com/mchina/p/linux-centos-logical-volume-manager-lvm.html fdisk 命令用法http://blog.sina.com.cn/s/blog_66b448620100ibay.h

Vmware centos 虚拟机根分区磁盘扩容(基于LVM)

由于开发测试机器dev-vhost017根分区规划不足只有10G,需要扩容.(基于LVM) 先关闭dev-vhost017,然后在vSphere Client 将根分区硬盘10G 调整到50G 开启虚拟机 原始/ 大小 10G [[email protected] ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_centos6-lv_root 8.3G 4.0G 3.9G 51% / tmpfs 939M 1

XenCenter new storage repository

XenCenter在挂载iso文件时候,选择"new storage repository"->"iso library" -> Windows File Sharing(CIFS) -> "CIFS ISO library" -> "\\192.168.1.118\iso" -> "Finish"时弹出下列报错信息: "Creating SR Unable to m

MySQL 备份和恢复(二)基于LVM实现几乎热备

LVM(Logical Volume Management逻辑卷管理)实现几乎热备的原理:利用LVM的快照卷达到可以保存数据库在某一时刻的瞬时状态,只需把当时的快照备份出来即可. LVM的快照原理:简单的讲就是lvm对某个卷创建快照卷后,快照卷则作为原卷的另一个访问入口,当原卷的数据发生变化时,则先把原卷的内容先复制一份到快照卷,然后才会继续对原卷数据的修改,这也就是之所以快照卷的容量大小应该大于整个备份过程中数据库的变化量的原因.所以当备份完成以后,快照卷也就可以拆除了,它的作用就是在备份过程

基于LVM逻辑卷下的磁盘配额操作

我们继续接上篇进行的LVM逻辑卷进行接下来的磁盘配额的学习本章操作内容接上篇lvm逻辑卷,如果没有看过上篇博客操作的小伙伴,可在操作完逻辑卷的内容时候再继续跟着本篇内容进行磁盘配额的操作! 磁盘配额概述:1.需要磁盘限额的条件 需要Linux内核支持 安装xfsprogs与quota软件包2.Linux磁盘限额的特点 作用范围:针对指定的文件系统(分区) 限制对象:用户账号.组账号 限制类型:磁盘容量.文件数量 限制方法:软限制.硬限制 磁盘配额的过程:以支持配额功能的方式挂载文件系统↓编辑用户