Submitted by admin on 2012, August 21, 2:09 PM
如何删除在XenCenter里无法删除的SR存储
因为PBD已经连接的缘故,我们无法直接使用sr-destroy删除SR。
首先我们先找到SR所在的PDB
xe sr-list #找到要删除的SR
xe pbd-list sr-uuid=SR的UUID
然后断开连接
xe pbd-unplug uuid=PBD的UUID
然后删除SR
xe sr-destroy uuid=SR的UUID
如果上一步无法完成,请尝试使用此方法:
xe sr-forget uuid=SR的UUID
在XenServer中用新硬盘创建新的Storage存储
xe sr-create name-label="名称" shared=false device-config-device=硬盘设备(如:/dev/sdb) type=lvm
------
补充:
查看xenserver后台任务:
xe task-list
结束xenserver后台任务:
xe task-cancel uuid=xxxxxxxx
重启XAPI
service xapi restart
xen | 评论:0
| Trackbacks:0
| 阅读:965
Submitted by admin on 2012, August 21, 2:00 PM
最近在VMware7.0上装了个Citrix XenServer,Citrix XenServer 是企业级面向云计算的虚拟平台,有 XenServer, Essentials for XenServer, Enterprise Edition 和 Platinum Edition 三种版本,其中 XenServer 是免费的,和 VMware ESXi 是同级别的竞争产品。XenServer 的安装过程和 VMware ESX4.0 一样容易,安装完后界面如下。和 VMware ESX4.0 类似,主要的操作和配置都可以在一个另外一台装有 XenCenter 客户端的机器上完成(和 VMware vShpere Client 一样)。
和VMware ESX4.0有点不同的是,XenServer 不能在 XenCenter 客户端管理界面里直接导入 iso 后安装操作系统,需要先把这些 iso 预存到另一台机器上,然后用 NFS 的方式访问。所以我们先在其他的机器开设一个 iso 目录并收集一些 iso 文件,用 NFS 导出这个 iso 目录,然后在 XenServer 服务器上手动把这个目录挂上,这样才能在 XenServer 和 XenCenter 管理界面里看到所有的 iso 文件,也就是说 XenServer 鼓励你把 iso 文件分开存储到另外一台单独服务器以方便管理。
接下来我们在Ubuntu上配置NFS:
安装nfs:#sudo apt-get install nfs-kernel-server
打开/etc/exports文件,在末尾加入:
/home/iso *(rw,sync,no_root_squash)
注:nfs允许挂载的目录及权限,在文件/etc/exports中进行定义, 各字段含义如下:
/home/iso:要共享的目录
* :允许所有的网段访问
rw :读写权限
sync:资料同步写入内在和硬盘
no_root_squash:nfs客户端共享目录使用者权限
重启服务:
#sudo /etc/init.d/portmap restart <---重启portmap,很重要
#sudo /etc/init.d/nfs-kernel-server restart <---重启nfs服务
#showmount -e <---显示共享出的目录
注:nfs是一个RPC程序,使用它前,需要映射好端口,通过portmap设定
命令执行情况如下:
xgc@xgc-VirtualBox:~$ sudo /etc/init.d/portmap restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service portmap restart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart portmap
portmap start/running, process 474
xgc@xgc-VirtualBox:~$ sudo /etc/init.d/nfs-kernel-server restart
* Stopping NFS kernel daemon [ OK ]
* Unexporting directories for NFS kernel daemon... [ OK ]
* Exporting directories for NFS kernel daemon...
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home/xgc".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x [ OK ]
* Starting NFS kernel daemon [ OK ]
xgc@xgc-VirtualBox:~$ showmount -e
Export list for xgc-VirtualBox:
/home/iso *
现在可以在本机上试一下:
#sudo mount -t nfs localhost:/home/xgc /mnt
注:localhost为本机linux的IP地址
这样就把共享目录挂到了/mnt目录,取消挂载用:
#sudo umount /mnt
如果用在嵌入式设备上挂载,要加上参数-o nolock
注:为Ubuntu NFS服务系统设置IP(192.168.10.44)。
到此装在Ubuntu上的NFS服务安装配置完成,在/home/iso目录下统一管理所有系统镜像iso文件。
下来在Citrix XenCenter上用ISO安装虚拟机系统:
一、首先我们得准备一台NFS共享服务器(就是上边的Ubuntu),IP地址192.168.10.*,用于存放linux.iso镜像文件,然后做一个NFS共享。
/home/iso 192.168.10.44(rw,insecure,sync,all_squash)
启动相关服务。关于NFS请参考:
linux下设置目录同步NFS
二、连接上XenServer 服务器:xenserver-axrngkqr。
三、新建一个存储仓库(New Storage Repository),用于存放linux.iso文件。

或者在Console:
[root@xenserver-axrngkqr ~]# xe-mount-iso-sr 192.168.10.44:/home/flc/iso

四、安装虚拟操作系统(New VM) Linux。
五、进入控制台安装Linux系统
xen | 评论:0
| Trackbacks:0
| 阅读:929
Submitted by admin on 2012, August 21, 1:58 PM
Citrix XenServer 是企业级面向云计算的虚拟平台,有 XenServer, Essentials for XenServer, Enterprise Edition 和 Platinum Edition 三种版本,其中 XenServer 是免费的,和 VMware ESXi 是同级别的竞争产品。XenServer 的安装过程和 VMware ESXi 一样容易,安装完后界面如下。和 VMware ESXi 类似,主要的操作和配置都可以在一个另外一台装有 XenCenter 客户端的机器上完成(和 VMware vShpere Client 一样)。
和 VMware ESXi 有点不同的是,XenServer 不能在 XenCenter 客户端管理界面里直接导入 iso 后安装操作系统,需要先把这些 iso 预存到另一台机器上,然后用 NFS 的方式访问。所以我们先在其他的机器开设一个 iso 目录并收集一些 iso 文件,用 NFS 导出这个 iso 目录,然后在 XenServer 服务器上手动把这个目录挂上,这样才能在 XenServer 和 XenCenter 管理界面里看到所有的 iso 文件,也就是说 XenServer 鼓励你把 iso 文件分开存储到另外一台单独服务器以方便管理,对下面的 NFS 操作不清楚的话可以参考 在 CentOS 上安装和配置 NFS 4.0:
# vi /etc/export
/home/vpsee/iso 172.16.240.164(rw,sync,no_root_squash) \
172.16.240.164(rw,sync,no_root_squash)
# /etc/init.d/portmap restart
# /etc/init.d/nfs restart
在 NFS 服务器上设置权限,允许 XenServer 服务器访问 NFS:
# vi /etc/hosts.deny
portmap:ALL
# vi /etc/hosts.allow
portmap:172.16.240.0/255.255.254.0
用 ssh 登录 XenServer 后挂在 NFS 服务器上的目录:
$ ssh root@172.16.240.164
root@172.16.240.164's password:
# xe-mount-iso-sr 172.16.240.10:/home/vpsee/iso
成功挂载后,在 XenCenter 控制台上(目前 XenCenter 只有 Windows 版本)就可以看到所有的 iso 了:
剩下就好办了,有了 iso 就可以直接安装操作系统了,注意如果机器 CPU 不支持全虚拟(Intel VT 或 AMD SVM)的话会导致安装失败、报错:
xenserver-imtxsji: HVM is required for this operation
INVALID_SOURCE - Unable to access a required file in the specified repository:
file:///timp/cdrom-repo-RZ1Yem/install.386/xen/vmlinuz.
如果是这样的话就只能通过网络(Install from URL)安装半虚拟系统了。
xen | 评论:0
| Trackbacks:0
| 阅读:903
Submitted by admin on 2012, August 21, 1:56 PM
要在 VM 开始安装作业系统,虽然 XenServer 已包含多个范本,例如 RedHat AS 4+5、CentOS、SuSE、Oracle Enterprise Linux 等等,在这些列表内的,安装时都不须额外下载原始安装光盘; 若未在列表内,例如 RedHat AS 3,就必须使用光盘方式安装。这里说明如何在新增 VM 时以 iso 档 方式来安装所需的作业系统。
首先,登录 console,执行以下指令,创建 iso 档型式的存储库(SR - Storage Repositories )
mkdir /boot-iso
xe sr-create name-label=boot-iso type=iso device-config:location=/boot-iso device-config:legacy_mode=true content-type=iso
使用SFTP上传 iso 档至主机的 /boot-iso 即可。
注:
1.如果不小心创建错误,或重复新增,想删除存储库时,就使用 XenCenter UI,直接选择 Detach ..... 就可以了。
2.上传 iso 档至主机后,XenCenter 不能同步显示,须在 console 执行 xe-toolstack-restart 指令后,XenCenter 才可以识别到。
xen | 评论:0
| Trackbacks:0
| 阅读:1083
Submitted by admin on 2012, August 21, 1:55 PM
最近由于工作需要接触了XenServer,在学习的过程中发现XenCenter不能很好的来管理XenServer,于是开始学习命令行管理的方式,用XenCenter使用windows下共享的iso镜像文件来安装操作系统这个大家都应该会,但是我想通过命令行的方式使用windows下共享的iso镜像文件来安装操作系统,在网上找了很久,也问过一些高手,都没有能够解决,今天终于搞好了,激动的快哭了。。。。。。与是就有了以下的文章,如有错误,还请各位哥哥姐姐指教。。。。。。在此谢过。。。。。。
一。在XenServer主机上添加windows上的iso镜像文件共享存储
我在我的windows机器192.168.7.9上共享了一个文件夹iso 里面放了安装系统所需要的iso镜像文件
xe-mount-iso-sr //IP/sharename -t cifs -o username=<username>,password=<password>
示例:xe-mount-iso-sr //192.168.7.9/iso -t cifs -o username=administrator,password=P@ssw0rd
二。使用模板新建一个虚拟机(vm)
xe vm-install template=CentOS\ 5\ \(32-bit\) new-name-label=centos5
e2958c7e-bab7-235b-3426-6bd52efcf6c8
该命令返回新vm的uuid
xe vdi-resize uuid=e2958c7e-bab7-235b-3426-6bd52efcf6c8 disk-size=20GiB 可以用此命令修改vm虚拟磁盘的大小,这里我们使用默认的大小
三。将vm的虚拟硬盘设置为不可引导
1>根据vm的uuid查找vm vbd(根硬盘)的uuid
xe vbd-list vm-uuid=e2958c7e-bab7-235b-3426-6bd52efcf6c8 userdevice=0 params=uuid --minimal
718cb50b-fdcd-82ed-df5a-b100f62bc627
该命令返回vm虚拟磁盘的uuid
2>使用返回的虚拟磁盘的uuid将vm的虚拟磁盘设置为不可引导
xe vbd-param-set uuid=718cb50b-fdcd-82ed-df5a-b100f62bc627 bootable=false
四。向新建的vm添加光驱,并设置为从光驱引导
1>获取XenServer主机上的挂载的windows共享上的iso镜像文件的名称
xe cd-list
该命令显示XenServer主机上所有的iso文件名称(name-label)
2>将XenServer主机上显示的iso的name-label参数作为虚拟机光驱的cd-name参数,本例中我们安装的是CentOS5.4 32位的,所以iso的name-label为CentOS-5.4-i386-bin-DVD.iso,那么vm光驱的cd-name(名称)也为CentOS-5.4-i386-bin-DVD.iso
xe vm-cd-add vm=centos5 cd-name=CentOS-5.4-i386-bin-DVD.iso device=2
3>获取与vm新建光驱(CD驱动器)对应的VBD的uuid
xe vbd-list vm-uuid=e2958c7e-bab7-235b-3426-6bd52efcf6c8 type=CD params=uuid --minimal
ba6e0365-46b2-6972-a8f4-730139802deb
该命令会显示与vm光驱对应的VBD的uuid
4>将vm光驱的VBD设置为可引导
xe vbd-param-set uuid=ba6e0365-46b2-6972-a8f4-730139802deb bootable=true
5>将vm的安装库设置为新建的虚拟光驱,即告诉vm我们要从cdrom来安装系统
xe vm-param-set uuid=e2958c7e-bab7-235b-3426-6bd52efcf6c8 other-config:install-repository=cdrom
此处的uuid为vm的uuid
五。启动新建的vm即开始安装
xe vm-start uuid=e2958c7e-bab7-235b-3426-6bd52efcf6c8
安装过程很简单这里不写了
xen | 评论:0
| Trackbacks:0
| 阅读:1000
Submitted by admin on 2012, August 15, 9:26 PM
今天在为数据库中的某两个字段设置unique索引的时候,出现了Specified key was too long; max key length is 1000 bytes错误,经过查询才知道,是Mysql的字段设置的太长了,于是我把这两个字段的长度改了一下就好了。
建立索引时,数据库计算key的长度是累加所有Index用到的字段的char长度后再按下面比例乘起来不能超过限定的key长度1000:
latin1 = 1 byte = 1 character
uft8 = 3 byte = 1 character
gbk = 2 byte = 1 character
举例能看得更明白些,以GBK为例:
CREATE UNIQUE INDEX `unique_record` ON reports (`report_name`, `report_client`, `report_city`);
其中report_name varchar(200), report_client varchar(200), report_city varchar(200)
(200 + 200 +200) * 2 = 1200 > 1000,所有就会报1071错误,只要将report_city改为varchar(100)那么索引就能成功建立。
如果表是UTF8字符集,那索引还是建立不了。
mysql/db | 评论:0
| Trackbacks:0
| 阅读:771
Submitted by admin on 2012, August 12, 12:47 AM
perl -MCPAN -e 'shell'
install HTML::Template::JIT
[root@srv3340 xen-tools-4.3.1]# xen-create-image
Can't locate File/Slurp.pm in @INC (@INC contains:
cpan> install File::Slurp
linux | 评论:0
| Trackbacks:0
| 阅读:867
Submitted by admin on 2012, August 12, 12:32 AM
问题:CentOS 5.1 and Xen - mount: could not find filesystem '/dev/root'
现象:http://www.centos.org/modules/newbb/viewtopic.php?topic_id=11685
解决:http://wiki.xensource.com/xenwiki/Fedora5Xen0DomU
mkinitrd --with=xennet --preload=xenblk initrd.img $(uname -r)
mkinitrd
功能说明:建立要载入ramdisk的映像文件。
Linux启动时,要先载入硬盘驱动,如IDE,SCSI,RAID,然后才能加载root分区。
该工具根据/etc/modprobe.conf文件,自动寻找要加载的驱动文件。
语 法:mkinitrd [-fv][--omit-scsi-modules][--version][--preload=<模块名称>][--with=<模块名称>][映像文件][Kernel 版本]
参 数:
--builtin=<模块名称> 如果驱动被编译进内核,mkinitrd就找不到相应驱动模块。该选项用用于忽略这些驱动,而不显示成错误;
--fstab=fstab 指定fstab文件,默认是:/etc/fstab
--omit-scsi-modules 不要载入SCSI模块
--omit-lvm-modules 不要载入LVM模块
--omit-raid-modules 不要载入Raid模块
--preload=<模块名称> 指定要在载入Scsi模块前就要载入的模块
--with=<模块名称> 指定要在载入Scsi模块后才载入的模块
--version 显示版本信息。
-v 执行时显示详细的信息。
-f 若指定的映像问家名称与现有文件重复,则覆盖现有的文件。
转
xen | 评论:0
| Trackbacks:0
| 阅读:1152