Citrix XenServer通过特殊方式重装后,是没有默认创建任何存储的,这里我们需要把原有的存储导入进去,这样操作才不会丢失数据。 1,列出卷所有pvscan PV /dev/sda3   VG VG_XenStorage-9ae1044f-d335-8143-d630-a6f546e57db7    lvm2 [66.52  G / 56.52 GB free] Total: 1 [66.52 TB] / in use: 1 [66.52 TB] / in no VG: 0 [0  […]

Linux系统,有个很好用的工具命令:sar。此命令很少人用到,但这个命令绝对不可少的,它可以监控系统各方面的情况:流量;CPU;内存等等。我们通过这个命令来监控流量情况sar的使用规则:sar [ 参数 ] [ 时间 ] [ 次数 ] 。实例: sar -n DEV 2 3 Linux 2.6.32.12-0.7.1.xs6.0.2.542.170665xen (xenserver-kgwgsphs)        07/25/2012 11:55:26 PM     IFACE      rxpck/s   txpck/s     rxbyt/s        […]

XenServer服务器查看用户I/O,可以通过iostat命令来查看,这个命令是Linux查看I/O情况的检查步骤1:iostat -d -k 2 5 统计硬盘使用的I/O情况,以MB单位显示,2秒间隔,显示2次可以看到②”dm-1″硬盘:读取 27733.33kB/s,写入 16302.49kB/s。这个读写可能造成了其他用户的使用,那么我们就需要找出”dm-1″属于哪台VPS的,记住”1″编号。注:①,②”dm-1″中的读写情况是:每次统计都是上一次统计时间到这次统计时间之间的统计数据。检查步骤2:查出”1″编号vdi的UUID命令1:lvdisplay|awk  ‘/LV Name/{n=$3} /Block device/{d=$3; sub(“.*:”,”dm-”,d); print d,n;}’ 可直接显示硬盘及其对应的设备路径与UUID命令2:ls -l /dev/mapper 列出硬盘中所有的磁盘信息。在编号那一列,找到”1″编号,在后面找到vdi的UUID”5e698cb1–07eb–4bb4–bd5b–c44c6b3763a8″复制出UUID,稍微改下,把2个”–”,都删除一个为”5e698cb1-07eb-4bb4-bd5b-c44c6b3763a8″检查步骤3:列出vdi的参数 xe vdi-param-list uuid=5e698cb1-07eb-4bb4-bd5b-c44c6b3763a8 从这就可以看出这个硬盘的名称是”Disk1842c”,也就能看出是属于编号:vps1842跑I/O,就可以对这台VPS作出处理可能上面查看到的硬盘名称是其他的,或者有多个硬盘名称是一样的,那么通过下面的命令可以查出是属于哪台VPS的硬盘vbd的UUID可以在vdi的参数中找到 xe vbd-param-list uuid=961bdd6e-7b7d-6f00-1413-02efca3c0745 从这就能看出VPS的名称/编号

—–=====监控检查类=====—–xentop                                                – 查看XenServer与VM的资源使用情况xsconsole                                      […]

详细跟踪了一下LVM-Based VDI与File-Based VDI的复制与链接过程,我们可以发现,Fast Copy与Full Copy有很大的区别,不同的形式对虚机VBD的性能具有一定的影响。 我们可以知道快照是基于链接形式管理的,而copy是完整的copy,里面没有详细区分Fast Copy和full copy的区别,VM在copy的情况下有两种形式,一是Fast copy,一种为Full copy 。 我们可以简单来看下VDI的复制过程。 在最开始Original-VM的VDI: 在Full Copy的情况下,XenServer会直接完整复制Original-VM的VDI,并生成UUID,附加到VM 在第一次Fast Copy的情况下,XenServer首先会把Original VM的VDI(UUID=1……)的重命名为Base Copy(UUID=2……),并生成新的VDI文件,作为Original VM的VDI(UUID=1……),也就是说,原始 VDI会转换成基本节点,原始VM也会链接到Base Copy,此时完成了链接的创建,而Fast-Copy虚机,会创建新的VDI(UUID=3……),并链接到Base Copy,也就是基本节点。 此时,如果对VDI(UUID=3……)进行Full Copy,也就是对虚机进行完整复制的时候,XenServer会根据Fast Copy以及其链接的Base Copy节点进行合并,然后完整转换成full Copy的新VDI(UUID=4……) 如果对VDI(UUID=3……)进行Fast copy,那么,如果Fast […]

在XenServer中,基本的存储库(SR)、物理块设备、虚拟磁盘映像、虚拟块设备之间的关系如下图: 其中,PBD为物理存储设备的抽象,基本无法改变,SR为XenServer对物理存储设备的抽象,起到组织管理的作用,SR的类型对虚机VDI的格式以及性能有一定的影响,但是SR的类型受限制于物理存储的形式,所以,暂停也跳过,VBD与VDI对应,而最终VM拿到的虚拟块设备VBD,则为VDI的虚拟,所以,SR中VDI的格式对存储空间消耗以及性能产生比较重要的影响。 基于不同的SR,一般情况下,VDI的物理保存方式有三种: File-based VHD(基于文件的VHD):VM的image将会以精简置备(thin provisioning)的VHD格式保存在本地的EXT格式的SR或者共享的NFS的存储上。 LVM-based VHD(基于LVM逻辑卷的VHD):默认XenServer连接光纤(LVMoHBA)、iSCSI(LVMoISCSI)或者SAS(LVM0HBA)的本地存储,以及基于SAN附加的LUN,这些类型存储上的VDI,都是卷管理器中的卷,并以VHD格式保存,以支持快照和克隆引用节点的精简置备。 LUN per VHD(每个LUN作为一个VDI):这种类型主要指Netapp,Equallogic或者StorageLink提供的存储类型,这种方式由于会有特殊的插件提供支持,所以VDI会直接抽象为存储中的一个LUN,然后直接附加到VM。很明显,该种方式对存储性能的利用最好,而且能够更方便的管理存储,因为都是基于存储的管理功能,而不是XenServer本身的功能。 每种VHD类型,有每一种的特点,以及对存储空间的占用,存储的性能损耗都不一样: 首先说明一下,在XenServer中,模板生成虚机都是采用VDI连接的形式进行管理的。 由于每VDI使用一个LUN,这种形式,VHD的管理由存储控制器来管理,所以,其大小和性能由存储的管理方式来决定,所以这里就不准备详细讨论了,但相对于其他两种形式而言,每VDI一个LUN的形式,其性能最高。比如,存储支持Thin Provisioning,那么空间占用将会由实际大小决定,不管XenServer声明该VHD的大小是多少,如果不支持,那么声明多少,将占用多少。性能,由存储管理方式决定,比如,跨多少磁盘,RAID的级别等等。 下面,主要介绍基于LVM和文件的两种VHD对存储空间的占用大小以及管理方式。 如上图:假设,XenServer创建一VM,并分配20G大小的空间给VM,VM实际使用数据空间为10G,然后我们基于该VM复制两个出来,然后第一个VM,改变了5G的数据后,做快照,成为最终的VM1,而VM2虚机改变了2G的数据。 基于该假设,存储中,VDI的空间消耗如上图所示。 首先,基于LVM的VHD格式,最开始20G的VM,需要消耗20G空间,在转成模板以后,copy出VM1和VM2以后,原始VM空间将会压缩到实际大小10G,然后形成两个链接,供VM1和VM2使用,VM改变5GB大小以后,快照,则,快照只保存更改的数据5GB,新的VM1,将会占用20G空间,而VM2 copy出来也会占用20G空间。 而基于文件的VHD格式,很容易理解,再任何时候,VM以及快照的大小为实际改变大小。 基于VHD克隆或者copy的VM,每个子VM都会形成一个链,修改写入新的VDI,读取则从父模板读取,如果进一步,讲子VM在克隆,这样,链接将会越来越长,存储的性能也会越来越差。XenServer中,最大的链接长度为30,使用copy命令复制VM,讲会将链接长度重置为0. VHD链的合并 VHD链接树会不断的创建、修改、删除。在删除链中的VDI时,XenServer会合理化链中的其他VDI,并删除非必要的VDI。合并过程为异步运行,且对于SR来说,永远只有一个合并过程处于活动状态,该过程由SR主节点主机的线程处理。 这里说明一点,VDI的删除,会导致VHD链的合并,但不是马上合并,该操作为异步执行,但最终会合并,而不是只删除链接节点名称保留直接链接。

背景: 机器位于美国. 32G内存+1T硬盘*4(硬RAID10阵列)+xenserver5.6系统 服务器支持kvm远程管理.机房断电,致使xenserver网卡丢失.在恢复网络连接后,其所有虚拟机(VPS)丢失。控制面板使用我的是我破解过的xensystem2.0版本.(维护和操作起来比较方便) 开始: 起初我在网上找了很多方法,都不成,有说是因为xenserver有自我保护模式,有说是pool主从模式的,都试过了,不成功。一般没见过的命令也不敢操作,毕竟不太熟悉。万一数据搞丢了可不好。 还好有xenme.com的站长帮我,在此表示 非常的感谢. 本想酬谢的,结果被拒绝了,不过还好他有亲戚在我这边,看来下次他来我这边可以请他喝酒了 呵呵. 1.恢复网卡访问 连接上KVM,需要安装java环境,这个就不介绍了.因为断电的原因,网卡丢失了。这时候我们通过 xe pif-scan 查找一下网卡,如果没有找到可能你就需要联系下机房人员了 找到网卡后,你还需要配置你的母机的IP等信息,测试可以ping通或者是非KVM可以SSH连接上后,就可以通过SSH操作了。 2.网卡已经成功激活并能远程SSH连接,这时候我们可以退出KVM,操作太卡了。 使用XenCenter连接后.发现SR及VPS全部不能正常显示. 先在SSH端检查下数据是否还在. 先列出卷 pvscan PV /dev/sda3 VG VG_XenStorage-c9aa6b53-8d71-6fc0-8148-2b28cf9bf57b lvm2 [1.81 TB / 1.26 TB free] Total: 1 [1.81 […]

最常见的场景是XenServer for Xendesktop,XenServer服务器作为基础架构存在,对网卡的配置有一定的要求,不管项目大小,我们可能都会问,究竟配置多少网卡就可以了?然而,由于需求的不同,比如冗余,吞吐量,安全,扩展性等等,我们需要作出权衡来配置数量。 XenServer5.6需要最少1块网卡,最多支持16块网卡,8个bonds(每2个网卡bond成一个)。 PS:XenServer的bond支持两种模式,一种是Active/Active模式,另外一种是Active/Passive模式。AA模式的bond支持SLB(source load balancing),同时支持冗余功能,而AP模式只有redundancy(冗余)而不具备LB(负载均衡)功能。 一般处于冗余,安全和吞吐量的考虑,可能会有以下几种情形。 存储:典型的,大量的用户使用存储,而且负载较高的时候,会了提供有效的网络吞吐量,一般建议是使用单独的网卡来连接存储。 PVS:PVS对网络的要求也是比较高的。而且,网络对PVS的性能影响较大,所以如果有PVS需求,也是需要单独的网卡来托管流量。典型的WIN7 x86虚拟桌面,在启动时候需要传输166M左右的数据。所以,有效的带宽可以根据此来计算。PS:不是所有的虚机都是同时启动。 VM:虚拟机需要和后端的基础架构通信,包括DC(域控),Web Server,Database Server,file Server等等。如果有效带宽不够,会影响到用户的体验。 管理口:XenServer的管理流量一般情况下推荐和其他流量分离,在安全性,稳定性上都有很大好处,而且不影响正常使用的流量。管理口的最大流量在于虚机的在线迁移等操作。 Backups:备份,在XenDesktop的环境中,如果不使用PVS,那么虚机的备份是非常消耗网络资源的。所以,也是需要单独来分配网卡。 虽然能够换更好的网卡来提高吞吐量。但是分离不同类型的网络流量在管理和安全以及网络的有效利用上还是有很好的帮助。虽然可以使用VLAN等技术来实现,但推荐使用独立网卡。 另外,为了防止单个网卡的网线或者网卡问题,导致的网络不可用,所以推荐所有的网卡都做绑定后使用。也就是推荐网卡数量为2,4,6,8,…… 流量基本包括了:management,storage,VM,PVS,backup。 所以,一般情况下,所有流量都走同一bond,那么就只需要使用1个bond(2 NIC) 每有流量需要独立,增加1个bond(2 NIC). 2 x Network Cards: Bond 1 […]

XenServer的网卡绑定使用linux提供的绑定机制,而XenServer支持Linux的Source Level Bond(SLB)以及Active-Passive Nic Bond(A/P)两种绑定模式。 关于Linux支持的7中Bond模式,这里简单介绍下,网上找了找资料: bond mode bond mode name bond description remarks 0 balance-rr (round-robin policy) 轮询策略 依次轮流传输数据库,知道完毕,提供负载均衡和冗余功能 1 active-backup (active-backup policy) 主/备策略 只有一个网卡活动,当活动网卡宕掉以后,另外一块设备马上接管,MAC地址对交换机只有一个端口可见,避免了混乱,该模式提供冗余功能 2 balance-xor (XOR policy) […]

之前在进行XenServer的一次升级操作以后发现,服务器重启以后,Local Storage无法挂在,fdisk -l命令发现,整个local storage分区消失。所以,我们需要从现有信息来恢复分区信息。 XenServer如果采用LVM分区,本地会和一半的Linux一样,会有一份备份的LVM信息,位置保存在/etc/lvm/backup/目录: 所以,我们只需要从升级前的备份信息中恢复即可。 而XenServer的分区一般由三部分组成(如下图),第一个4G分区为XenServer跟分区,第二个4G分区为升级操作的备份分区,第三个分区一半为磁盘的剩余空间,用于localstorage使用。 XenServer在升级的过程中,会把跟分区信息(sda1)备份到备份分区(sda2),安装成功以后,再从备份分区(sda2)来恢复原有的配置以及分区等信息,而问题发生时,由于某些原因导致了分区信息的恢复失败,最终导致localStorage无法挂载。而我们又知道,localStorage分区信息保存在/etc/lvm/backup/,所以,我们只需要从这里恢复即可。 恢复步骤: 挂载备份分区 1 2 3 4 mkdir /backup mount /dev/sda2 /backup #change to lvm backup folder cd /backup/etc/lvm/backup/ 找到丢失分区的SR UUID(可以通过XenCenter查看/或者参考如下使用命令查看) 1 2 […]