Linux Xen虚拟硬c盘空间不足怎么扩大如何扩大

XEN虚拟机在Linux上的安装和使用教程
btschina & 01-15 10:30:49 & 作者:佚名 &
这篇文章主要介绍了Linux系统下XEN虚拟机简单的安装和使用教程,示例基于CentOS系统环境,需要的朋友可以参考下
1、安装xen代码如下:yum install xen*
kernel-xen*
virt-manager vnc* xen-lib python-virtinstkernel-xen:可以跑 Xen 的 Linux 核心
xen:主要的 xen 套件,包括配置文件、启动脚本和一些函数库
xen-libs:Xen 所需要的函数库
python-virtinst:提供终端安装的软件
virt-manager:用于图形界面管理xen
2、修改grub 让系统从xen内核引导代码如下:[root@center ~]# more
/etc/grub.conf
# grub.conf generated by anaconda
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:& You have a /boot partition.& This means that
#&&&&&&&&& all kernel and initrd paths are relative to /boot/, eg.
#&&&&&&&&& root (hd0,1)
#&&&&&&&&& kernel /vmlinuz-version ro root=/dev/sda1
#&&&&&&&&& initrd /initrd-version.img
#boot=/dev/sda
splashimage=(hd0,1)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-194.32.1.el5xen)
root (hd0,1)
kernel /xen.gz-2.6.18-194.32.1.el5
module /vmlinuz-2.6.18-194.32.1.el5xen ro root=LABEL=/ rhgb quiet
module /initrd-2.6.18-194.32.1.el5xen.img
title CentOS (2.6.18-194.el5)
root (hd0,1)
kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.18-194.el5.img3、重启系统并确认是否已经使用xen内核引导代码如下:[root@center ~]# uname -arLinux test1.aa.com 2.6.18-274.17.1.el5xen #1 SMP Tue Jan 10 18:06:37 EST
x86_64 x86_64 GNU/Linux
4、调整xen server (dom0)使用的内存default=0
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-238.9.1.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-238.9.1.el5& dom0_mem=2097152 (kb 单位 2G)
module /vmlinuz-2.6.18-238.9.1.el5xen ro root=LABEL=/
module /initrd-2.6.18-238.9.1.el5xen.img
title CentOS (2.6.18-194.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/
initrd /initrd-2.6.18-194.el5.img调整完成后需要重启服务器。
5、建立本地yum源,便于安装系统
修改http.conf:
增加监听端口:代码如下:Listen 8000Listen 8001
增加虚拟主机:&VirtualHost *:8001&
DocumentRoot /data/os
&Directory &/data/os&&
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
&/Directory&
&/VirtualHost&重启httpdd:/etc/init.d/httpd&& reload
6、创建虚拟机代码如下:virt-install -n xen1 -r 256 -f /home/xen1.img -lhttp://192.168.0.110:8001 &network=network:default
-s 20 &nographics &vnc &vcpus=8-n :后面接虚拟机名称,配置 /etc/xen 底下
-r : 后面接分配的内存大小
&vcpus : 分配多少个cpu
-f :后面接新建的磁盘文件
&nographics :不使用图形化安装
-p : 半虚拟化
-s : 虚拟机的硬盘空间
-l :后面接安装源
7、克隆虚拟机
代码如下:virt-clone
xen1 -n xen2
-f /home/xen2.img
8、常见命令
xm info 查看宿主机信息
xm top 监控宿主机和Domain机器信息
xm create /etc/xen/xen1 启动
xm shutdown xen1& 关闭
xm reboot xen1 重启
xm pause xen1 暂停
xm resume xen1 恢复
xm console xen1& 进入console
Ctrl + ]& 退出console
9、优化代码如下:[root@test1 ~]# xm listName&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ID Mem(MiB) VCPUs State&& Time(s)
Domain-0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 0&&&&& 474&&&& 1 r&&&& 1222.9
xen1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 10&&&&& 255&&&& 1 -b&-&&&& 81.9
优化方法:xm vcpu-pin 3 0 1 (将虚拟机使用的VCPU 直接由物理cpu 1处理)
确认是否已经分配单独物理cpu:代码如下:xm
vcpu-list 3
大家感兴趣的内容
12345678910
最近更新的内容扫一扫体验手机阅读
xen虚拟机管理添加sawp大小
<span type="1" blog_id="555460" userid='
分享到朋友圈
关注作者,不错过每一篇精彩博客分类:
XEN是目前Linux上的最佳的虚拟化解决方案,特别适合于服务器应用,如用于将多个服务器合并到一台物理服务器上,以节省运营成本(机房空间、电力消耗);或者是出于安全角度的考虑,需要将不同的应用进行分区,以便降低安全风险等。
完全虚拟化(Full Virtualization):full virtualized
半虚拟化(Para Virtualization):paravirtualized
查看CPU对虚拟化的支持程度:
Intel和AMD的半虚拟化支持标识 - PAE
# cat /proc/cpuinfo | grep flags
flags : fpu tsc msr pae
mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss nx constant_tsc pni ssse3
Intel全虚拟化支持标识 - VMX
# cat /proc/cpuinfo | grep flags
flags : fpu tsc msr pae
mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc up pni monitor ds_cpl vmx
est tm2 cx16 xtpr lahf_lm
AMD全虚拟化支持标识 - SVM
# cat /proc/cpuinfo | grep flags
flags : fpu vme de pse tsc msr pae
mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2
ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm
cmp_legacy svm
extapic cr8legacy 3dnowprefetch ts fid vid ttp tm stc 100mhzsteps
XEN的运行环境:
Domain-0与Domain-U
Domain-0即虚拟母机或称为宿主机,与Linux主机为同一系统,以XEN的Linux内核启动的主机,负责管理和控制客户机。
Domain-U即虚拟客户机或称VPS,在Domain-0上可以建立多个虚拟客户机。
Domain-0与Domain-U的区别就是Domain-0是虚拟机,Domain-U是虚拟机上的操作系统。用过Windows上VMWare的可以把Domain-0理解为VMWare软件,Domain-U则是运行在VMWare上的操作系统。
XEN的运行方式:
XEN分成多个层级 (layer) 执行。它将Linux的核心修改后,再使用修改过的核心开机,而开机后先载入XEN的监控器 (Hypervisor) , 并且启动第一个操作系统,称为domain-0。在Xen上面所谓的一个domain就是指一个虚拟机。
Domain-0之所以要先被载入是因为Domain-0含有其他虚拟机启动所必须的控制指令,并且domain-0也是控制虚拟装置的重要主控系
统。在domain-0上最重要的就是一个xend的常住进程,其他的domain都是由这个xend来管理的。至於命名方面,除了domain-0之外
的其他虚拟机就依序被称为domain-1, domain-2等等, 我们统称为domain-U。
Domain-0是很重要的,因为它直接控制Xen的监控器(Hypervisor),而且掌握了真实的Linux驱动程序
(drivers)。而其他的虚拟机(domain-U)则是透过Xen监控器来与真实的硬件以及domain-0进行交互。为了让domain-0能够
与Xen结合,我们必须要修改domain-0的核心才能顺利运行。并且需要使用domain-0的核心来开机才可以。domain-0是所有虚拟机的基
础,所以它可以尽量简洁,其他的个别服务则可以放置到不同的domain中。
xend可以管理domain-0与其他domain之间的启动与交互,提供一个终端控制 (console) 界面来让 domain-0 登入其他的 domain。
XEN的安装:
在CentOS(5.4)上安装XEN
首先确认XEN是否已经安装
# yum grouplist
如果Virtualization位于Available Groups而非Installed Groups里则说明XEN并未安装在系统中
安装命令有两种,任选其一,效果是一样的
安装方式一
# yum -y install xen &开始安装XEN&
安装方式二
# yum groupinstall Virtualization -y &开始安装XEN&
安装完成后编辑/etc/grub.conf修改开机启动顺序,将default=1修改为改default=0,以XEN的Linux核心为默认启动系统
安装完成,重启。
ID Mem(MiB) VCPUs
显示以上内容表示安装无误,Domain-0正常启动运行。
安装客户机 - Domain-U:
半虚拟化安装客户机操作系统CentOS(5.4)
首先为虚拟机创建磁盘并进行格式化
创建磁盘:
# dd if=/dev/zero of=/home/vm01 bs=4096 seek=1024k count=0
参数说明:if
文件输入位置of
创建磁盘文件bs
设置磁盘大小seek
描述 bs 每一块的单位count
复制的块数
将磁盘文件格式化为ext3文件格式:
# mkfs -t ext3 /home/vm01
关闭防火墙使用NFS作为安装源:
一般防火墙是默认打开的,如果防火墙已经打开且开放了NFS服务则不需要关闭防火墙
# /etc/init.d/iptables stop &关闭防火墙&
挂载操作系统:
# mkdir /tmp/os
# mount /dev/cdrom /tmp/os
启动NFS服务:
# service nfs start
开放NFS服务的目录:
编辑 /etc/exports 添加一行 /tmp/os
192.168.1.*(ro) ,注意根据个人情况修改IP
# exportfs -rv
开始安装:
#virt-install -n domain01 -r 512 --vcpus=2 -p -f /home/vm01 --nographics -l /tmp/os
进入安装选项-&选择语言-&选择NFS方式安装-&选择IPV4 DHCP -&输入主机ip[192.168.1.1]-&输入目录[/tmp/os]
选择TEXT安装模式,以后的安装过程和正常安装CentOS没有区别
安装程序参数列表:-n
设置虚拟主机名-r
设置虚拟主机内存 这里设置的是512M--vcpus
设置cpu个数-f
设置虚拟主机的磁盘位置--nographics
不使用图形界面安装-l
设置系统安装源的位置-p
半虚拟化客户机-c
用于全虚拟化的虚拟CD,可以是一个ISO镜像文件或CDROM设备或URL可以访问的boot.iso镜像
将虚拟主机加入开机自动启动:
# chkconfig --add xendomains
# ln -s /etc/xen/domain01 /etc/xen/auto/domain01 &放在auto目录中的虚拟主机会开机自启动&
xendomains服务器的启动/停止/重启/状态查询命令:
一般的情况下,xend服务器启动了,xendomains也会自动启动。
# /etc/init.d/xend start 启动xend
# /etc/init.d/xend stop 停止xend
# /etc/init.d/xend restart 重启xend
# /etc/init.d/xend status 查看xend状态
# /etc/init.d/xendomains start 启动xendomains
# /etc/init.d/xendomains stop 停止xendomains
# /etc/init.d/xendomains restart 重启xendomains
# /etc/init.d/xendomains status 查看xendomains状态
XEN控制虚拟主机的常用命令:
虚拟主机列表
关闭虚拟主机,domain01为虚拟主机名,也可用id代替
# xm shutdown domain01
启动一个虚拟主机,domain01为虚拟主机名
# xm create domain01
通过-c 参数调用 console 启动并跟踪虚拟主机状态
# xm create domain01 -c
显示虚拟机的控制台
# xm console domain01
重起虚拟机
# xm reboot domain01
销毁并立即停止虚拟机,类似关掉电源一样关机
# xm destroy domain01
存储正在运行的虚拟操作系统的状态
# xm save domain01 &File&
唤醒虚拟操作系统
# xm restore &File&
暂停正在运行的虚拟操作系统
# xm pause domain01
激活停止的虚拟操作系统
# xm unpause domain01
调整虚拟平台/虚拟操作系统的占用内存
# xm mem-set domain01
调整虚拟平台及虚拟操作系统的虚拟CPU个数
# xm vcpu-set domain01 2
查看虚拟系统运行的状态
常见错误描述及解决办法
通过http或NFS安装客户机操作系统出现 Unable to retrieve 错误:....
多数原因是防火墙造成的,如果使用http安装方式时可以先停止防火墙,也可以采用以下方式解决
通过/etc/init.d/iptables status命令查询是否有打开80端口
或通过 sudo netstat -antup
命令查看网络端口状态
修改vi /etc/sysconfig/iptables添加以下代码开放80端口:
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
执行 /etc/init.d/iptables restart 激活操作
出现类似下面的错误:
POST operation failed: xend_post: error from xen
daemon: (xend.err 'Error creating domain: I need 262144 KiB, but
dom0_min_mem is 262144 and shrinking to 262144 KiB would leave only
244672 KiB free.')
说明新增的虚拟主机内存设置过高了,需要调小些
浏览: 390920 次
来自: 浙江杭州
值得收藏,不错
这个识别英文都有问题
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'搜索关键字
Xenserver虚拟机磁盘扩容
本文作者:www.linuxea.com for Mark
文章链接:(转载请注明本文出处和本章链接)
[root@DS-VM-LinuxEA ~]# vgs
#PV #LV #SN Attr
0 wz--n- 14.50g
[root@DS-VM-LinuxEA ~]# lvs
Pool Origin Data%
Move Log Cpy%Sync Convert
root DTVG -wi-ao---- 12.50g
swap DTVG -wi-ao----
[root@DS-VM-LinuxEA ~]# parted /dev/xvda
GNU Parted 3.1
使用 /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print free
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
File system
Free Space
Free Space
(parted) mkpart
分区类型?
primary/主分区/extended/扩展分区? extended
起始点? 16.1GB
结束点? 85.9GB
(parted) print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
File system
(parted) mkpart
分区类型?
primary/主分区/logical/逻辑分区? logical
文件系统类型?
[ext2]? xfs
起始点? 16.1GB
结束点? 85.9GB
(parted) t
分区编号? 5
Flag to Invert? lvm
(parted) print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
File system
(parted) w
align-check TYPE N
check partition N for TYPE(min|opt) alignment
help [COMMAND]
print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE
create a new disklabel (partition table)
mkpart PART-TYPE [FS-TYPE] START END
make a partition
name NUMBER NAME
name partition NUMBER as NAME
print [devices|free|list,all|NUMBER]
display the partition table, available devices, free space, all found partitions, or a particular partition
exit program
display the version number and copyright information of GNU Parted
(parted) quit
信息: You may need to update /etc/fstab.
[root@DS-VM-LinuxEA ~]# pvcreate /dev/xvda5
Physical volume &/dev/xvda5& successfully created.
[root@DS-VM-LinuxEA ~]# vgextend DTVG /dev/xvda5
Volume group &DTVG& successfully extended
[root@DS-VM-LinuxEA ~]# vgdisplay
--- Volume group ---
Metadata Areas
Metadata Sequence No
read/write
Alloc PE / Size
3711 / 14.50 GiB
16642 / 65.01 GiB
5ZQ2hP-K9av-en3J-SWvu-skwa-x3Nt-uHrSX2
[root@DS-VM-LinuxEA ~]# vgdisplay |grep Free
16642 / 65.01 GiB
[root@DS-VM-LinuxEA ~]# lvextend -l +16642 /dev/mapper/DTVG-root
Size of logical volume DTVG/root changed from 12.50 GiB (3200 extents) to 77.51 GiB (19842 extents).
Logical volume DTVG/root successfully resized.
[root@DS-VM-LinuxEA ~]# xfs_growfs /dev/mapper/DTVG-root
meta-data=/dev/mapper/DTVG-root
agcount=4, agsize=819200 blks
sectsz=512
attr=2, projid32bit=1
finobt=0 spinodes=0
bsize=4096
blocks=3276800, imaxpct=25
swidth=0 blks
=version 2
bsize=4096
ascii-ci=0 ftype=0
bsize=4096
blocks=2560, version=2
sectsz=512
sunit=0 blks, lazy-count=1
realtime =none
extsz=4096
blocks=0, rtextents=0
data blocks changed from 3276800 to
至此为止扩容完毕
[root@DS-VM-LinuxEA ~]# df -TH
可用 已用% 挂载点
1% /dev/shm
0% /sys/fs/cgroup
/dev/mapper/DTVG-root xfs
/dev/xvda1
5% /var/lib/docker/aufs/mnt/d40c5cd9b07f3f21ce84dbe7da77a6c80ab
0% /var/lib/docker/containers/7778ffa2e362df5b1bdedefe4500c1def61b5cd309/shm
0% /run/user/0
[root@DS-VM-LinuxEA ~]# docker ps -a
CONTAINER ID
7778ffa2e362
mysql_mariadb
&/initialization.sh&
44 minutes ago
Up 5 minutes
[root@DS-VM-LinuxEA ~]#
本文作者:www.linuxea.com for Mark
文章链接: (转载请注明本文出处和本章链接)
您可以选择一种方式赞助本站
支付宝扫码赞助没有更多推荐了,
不良信息举报
举报内容:
关于xen扩展虚拟机硬盘的办法
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!

我要回帖

更多关于 内存虚拟硬盘软件 的文章

 

随机推荐