基于LVM的Xen的部署(一)

12 篇文章 2 订阅

对于Xen部署虚拟机,生产应用中最常用的是基于LVM的部署应用,利用LVM的Online扩在性,可灵活的伸缩虚拟机的存储大小特点可以高效灵活的部署Xen的虚拟机。这里我在VMware添加了一块新的硬盘做LVM。

[root@localhost ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00052228

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          39      307200   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              39        2358    18631680   83  Linux
/dev/sda3            2358        2611     2031616   82  Linux swap / Solaris

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

这里的我的硬盘/dev/sdb还没有使用,这里我们先分区,这里我将整个硬盘分为4个分区,应为在生产用于一款机型中戴尔的机器通常是用过四块硬盘,每块硬盘分四个分区,然后四块硬盘在组成一个RAID10,这里我就不在那么复杂了不在创建raid,为了省事我只是创建LVM。操作步骤如下:

[root@localhost ~]# fdisk /dev/sdb

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1305, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): 326

然后创建完四个分区后,需要修改分区的类型标识,这是创建LVM前的必须操作:

[root@localhost ~]# fdisk /dev/sdb
Command (m for help): t
Partition number (1-4): 1,2,3,4
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
[root@localhost ~]# fdisk -l
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         326     2618563+  8e  Linux LVM
/dev/sdb2             327         653     2626627+  8e  Linux LVM
/dev/sdb3             654         980     2626627+  8e  Linux LVM
/dev/sdb4             981        1305     2610562+  8e  Linux LVM

着手开始创建LVM,将四个分区添加到 一个VG里,我将创建两virtual machine,并且利用LVM的在线的扩展性,能很好的实现将来虚拟机的可扩展性。

[root@localhost ~]# pvcreate /dev/sdb{1,2,3,4}
  Physical volume "/dev/sdb1" successfully created
  Physical volume "/dev/sdb2" successfully created
  Physical volume "/dev/sdb3" successfully created
  Physical volume "/dev/sdb4" successfully created
[root@localhost ~]# pvscan
  PV /dev/sdb1                      lvm2 [2.50 GiB]
  PV /dev/sdb2                      lvm2 [2.50 GiB]
  PV /dev/sdb3                      lvm2 [2.50 GiB]
  PV /dev/sdb4                      lvm2 [2.49 GiB]
  Total: 4 [10.00 GiB] / in use: 0 [0   ] / in no VG: 4 [10.00 GiB]
[root@localhost ~]# vgcreate -s 4M Xen_DomainLVM /dev/sdb{1,2,3,4}
#这里可以选择所创建的PE的大小,在生产应用中可以根据不同的业务来设置不同的PE大小,默认为4M大小。
  Volume group "Xen_DomainLVM" successfully created
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               Xen_DomainLVM
  System ID
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               9.99 GiB
  PE Size               4.00 MiB
  Total PE              2558
  Alloc PE / Size       0 / 0
  Free  PE / Size       2558 / 9.99 GiB
  VG UUID               qXP8jM-mDF5-hDCv-0tKn-yJNY-x63v-8n0sgA
[root@localhost ~]# lvcreate -l 100 -n Domain_1_LVM Xen_DomainLVM
  Logical volume "Domain_1_LVM" created
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/Xen_DomainLVM/Doamin_2_LV
  LV Name                Doamin_2_LV
  VG Name                Xen_DomainLVM
  LV UUID                SbwZ68-VeT3-Bx3Y-I0o1-bsVq-tiOG-O2FjdU
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2015-07-10 03:05:08 -0700
  LV Status              available
  # open                 0
  LV Size                400.00 MiB
  Current LE             100
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

创建好LVM后,就分区Format文件系统和LV 的挂载了,这些应该都是比较简单的步骤,所以这里就不在做详细的代码演示,只列出需要输入的命令。

[root@localhost ~]# mkfs -t ext4 /dev/Xen_DomainLVM/Doamin_2_LV
[root@localhost ~]#mkdir /mnt/lvm;mount /dev/Xen_DomainLVM/Doamin_2_LV /mnt/lvm
[root@localhost ~]# mkfs -t ext4 /dev/Xen_DomainLVM/Domain_1_LV
[root@localhost ~]# mount /dev/Xen_DomainLVM/Domain_1_LVM /mnt/lvm2
[root@localhost ~]# df -h
Filesystem                              Size  Used Avail Use% Mounted on
/dev/sda2                                18G  2.6G   14G  16% /
tmpfs                                    81M     0   81M   0% /dev/shm
/dev/sda1                               283M   69M  195M  27% /boot
/dev/mapper/Xen_DomainLVM-Doamin_2_LV   380M  2.3M  354M   1% /mnt/lvm
/dev/mapper/Xen_DomainLVM-Domain_1_LVM  380M  2.3M  354M   1% /mnt/lvm2

下面才是开始正式的工作,上面浪费这么多时间写一些废话,一是方便哪些对相关知识不太熟悉的,还有就是自己加深一下记忆,好久没有用过了,也就是当初学了一下相关的知识,没有真正的用到过。废话不多说正式开始Xen 的guest OS的安装,guest OS的无法直接使用CD安装盘来安装,那么就只能用网络安装,具体实现方式有httpd,nfs,ftp等,我们这里介绍两种方法httpd和nfs,为什么浪费时间使用两种方法,而不是直接使用一种方法也是帮助自己回忆一下相关的知识,这里我们先使用nfs实现Domain1的安装部署,我这里使用的Tinycore的Linux系统,应为是在VMware虚拟化安装Centos6.5,然后又在Centos上虚拟化安装一个操作系统,对硬件的占用会比较大,所以这里就只是实现Xen的guest OS的安装和简单的实验,不在虚拟机上实现其他大型的服务啦。
第一步是nfs的安装,默认系统都会安装nfs服务,当然如果没有安装使用过yum安装也是非常省事快捷的。
1、NFS简介
NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。

[root@localhost ~]# yum install portmap nfs-utils
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
Setting up Install Process
Package rpcbind-0.2.0-11.el6.x86_64 already installed and latest version
Package 1:nfs-utils-1.2.3-54.el6.x86_64 already installed and latest version
Nothing to do
#这里我是最新的版本我就不在进行安装了
[root@localhost ~]# /etc/init.d/iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
#关闭防火墙
[root@localhost ~]# setenforce 1

启动NFS守护进程
nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;
mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利通过nfsd登录NFS服务器后,在使用NFS服务所提供的文件前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。
portmap:主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。
下面进行操作,首先是启动nfs服务

[root@localhost ~]# /etc/init.d/nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]

其次是配置NFS服务,NFS的常用目录
/etc/exports NFS服务的主要配置文件
/usr/sbin/exportfs NFS服务的管理命令
/usr/sbin/showmount 客户端的查看命令
/var/lib/nfs/etab 记录NFS分享出来的目录的完整权限设定值
/var/lib/nfs/xtab 记录曾经登录过的客户端信息
NFS服务的配置文件为 /etc/exports,这个文件是NFS的主要配置文件,不过系统并没有默认值,所以这个文件不一定会存在,可能要使用vim手动建立,然后在文件里面写入配置内容。

[root@localhost ~]# mount -o loop -t iso9660 /dev/cdrom /mnt/cdrom
[root@localhost ~]# echo '/mnt/cdrom/ 192.168.71.0/24(rw)' >> /etc/exports
#将所要挂载镜像文件路劲写入到nfs的配置文件
[root@localhost ~]# mount 192.168.71.130:/mnt/cdrom /tmp/cdrom
#挂载镜像文件
[root@localhost ~]# mount |grep nfs
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
192.168.71.130:/mnt/cdrom on /tmp/cdrom type nfs (rw,vers=4,addr=192.168.71.130,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值