热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

批量自动安装xen虚拟机环境

这是我即将上线的,一批xen机器的配置的初始化文档;未包含XEN模版本配置。提供给新人使用的。目前一共有十台机器,已完成以下配置的机器为:192.168.1.1现其他机器均需要进行以下操作,以118这台服务器为例:一、修改主机名#hostnamexen118.localdomain

这是我即将上线的,一批xen机器的配置的初始化文档;未包含XEN模版本配置。提供给新人使用的。
目前一共有十台机器,已完成以下配置的机器为:192.168.1.1
现其他机器均需要进行以下操作,以118这台服务器为例:

一、修改主机名
# hostname xen118.localdomain

# vim /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=xen118.localdomain
~
# vim /etc/hosts
#添加如下行
192.168.1.1 xen118.localdomain

二、设置IP地址
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
HWADDR=50:E5:49:3A:F8:E5
OnBOOT=yes
IPADDR=192.168.1.1
NETMASK=255.255.255.0
GATEWAY=192.168.1.254

三、关闭防火墙
# chkconfig iptables off

四、配置软件仓库
# vim /etc/yum.repos.d/auto.repo
[Server]
name = Red Hat Enterprise Linux 5
baseurl = http://192.168.1.1/osinstall/Server
enabled = 1
priority = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-relase
gpgcheck = 0

[VT]
name = Red Hat Enterprise Linux 5
baseurl = http://192.168.1.1/osinstall/VT
enabled = 1
priority = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-relase
gpgcheck = 0

五、安装xen

# yum install -y kernel-xen kernel-xen-devel xen xen-devel xen-libs

六、配置内核启动选项
# vim /etc/grub.conf
修改default=1为default=0
保存退出.

七、重启机器

八、检验是否使用了新内核
# uname -a
Linux xen118.localdomain 2.6.18-194.el5xen #1 SMP Tue Mar 16 22:01:26 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

出现xen的表示以上操作成功!

============================以上为基础工作,完成以上后,需要进行虚拟机的克隆====================

下载制作完成的虚拟机镜像
wget http://192.168.1.1/vps.img -P /etc/xen/

建立配置文件:
# vim /etc/xen/vps
name = "vps"
uuid = "38c36e77-fdea-6839-ed9e-6eae22f52cd4"
maxmem = 3584
memory = 3584
vcpus = 4
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
disk = [ "tap:aio:/etc/xen/vps.img,xvda,w" ]
vif = [ "mac=00:16:36:70:d0:39,bridge=xenbr0,script=vif-bridge" ]

九,使用LVM做为xen载体,通过xen模版机进行克隆。
# sed -i '2d' /etc/fstab
# umount /xen
# pvcreate /dev/sda2
# vgcreate vg01 /dev/sda2
# lvcreate -n server1 -L 100G vg01
# lvcreate -n server2 -L 100G vg01

十、克隆虚拟机
# virt-clone -o vps -n server1 -f /dev/vg01/server1 --force
# virt-clone -o vps -n server2 -f /dev/vg01/server2 --force

# sync

启动虚拟机
# xm create -c server1

-------------------->以下操作在虚拟机中进行!
修改虚拟机的基础信息:
a> ip <需要删除MAC地址这一行>
b> 主机名
c> 检查网络
d> yum 仓库

默认情况下,虚拟机的空间只有20GB,现在我们要扩充到100G

#登录虚拟机后,要进行动态扩容 <危险操作>

安装在线扩容工具包,它可以帮助我们减少扩容出错问题。不到万不得已,不要使用2efcsk命令。
# groupadd abuild
# useradd -g abuild abuild
# rpm -ivh ext2resize-1.1.19-3.1.x86_64.rpm

对磁盘进行分区,建立LVM做准备。
# fdisk /dev/xvda
The number of cylinders for this disk is set to 13054.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 3
First cylinder (2611-13054, default 2611): 回车
Using default value 2611
Last cylinder or +size or +sizeM or +sizeK (2611-13054, default 13054): 回车
Using default value 13054

Command (m for help): n
Command action
l logical (5 or over)l
p primary partition (1-4)
l
First cylinder (2611-13054, default 2611): 回车
Using default value 2611
Last cylinder or +size or +sizeM or +sizeK (2611-13054, default 13054): 回车
Using default value 13054

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks

# partprobe
将多余的空间全部加入到逻辑卷中。
# pvcreate /dev/xvda5
# vgextend VolGroup00 /dev/xvda5
# lvextend -l +2560 /dev/VolGroup00/LogVol00

# ext2online /dev/VolGroup00/LogVol00
ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
92G 3.7G 84G 5% /
/dev/xvda1 99M 14M 81M 15% /boot
tmpfs 1.8G 0 1.8G 0% /dev/shm

我们做完任何操作后,都要进行验证!
通过ssh登录虚拟机,验证:<空间扩充成功>
[root@host119 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
92G 2.7G 85G 4% /
/dev/xvda1 99M 14M 81M 15% /boot
tmpfs 1.8G 0 1.8G 0% /dev/shm

确认完成后,修改虚拟机的配置文件:
# mv /etc/xen/server1 /etc/xen/host119
# sed -i 's/server1/host119/' /etc/xen/host119

再次启动虚拟时:
xm create host119

让虚拟机自动跟系统一起启动:
# ln -s /etc/xen/host119 /etc/xen/auto/

XM命令:
xm create vm1 #其中vm1 为虚拟机的配置文件,位于/etc/xen/vm/vm1
xm create -c vm1 #如果需要启动控制台,则可以运行命令
xm list #可以列出所有的虚拟机
xm console #可以显示某虚拟机的控制台
xm reboot|shutdown #可以重起和关闭id 为domid 的虚拟机
xm destroy #可以销毁id 为domid 的虚拟机
xm console fc5 #从终端或控制台登录正在运行的虚拟操作系统
xm save # 存储正在运行的虚拟操作系统的状态
xm restore # 唤醒虚拟操作系统
xm pause #停止正在运行的虚拟操作系统
xm unpause #激活停止的虚拟操作系统
xm mem-set #调整虚拟平台/虚拟操作系统的占用内存
xm shutdown 虚拟操作系统的Name或DomID #关闭被虚拟的系统
xm destroy #立即停止虚拟的系统 (重要);
xm vcpu-set #调整虚拟平台及虚拟操作系统的虚拟CPU个数
xm top 或 xentop # 查看虚拟系统运行的状态
xm save VM1 VM1.chk # stop the domain and save its current state into a file called VM1.chk
xm restore VM1.chk #resume execution of this domain


推荐阅读
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 利用SSH隧道实现外网对局域网机器的安全访问
    本文探讨了一种常见的网络配置问题及其解决方案,即如何在外网环境下安全地访问位于局域网内的计算机。特别介绍了使用SSH反向隧道技术来实现这一目标的具体步骤和注意事项。 ... [详细]
  • Linux网络安装指南
    本文详细介绍了如何通过网络安装Linux操作系统,包括必要的服务配置和常见问题解决方法,旨在帮助IT专业人士提高系统部署效率。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • 本文介绍如何在Linux系统中卸载预装的OpenJDK,安装指定版本的JDK 1.8,并配置防火墙以确保系统安全性和软件兼容性。 ... [详细]
  • 使用LVS与ldirectord实现高可用负载均衡
    本文介绍了如何通过LVS(Linux Virtual Server)结合ldirectord工具来实现服务器的健康检查及负载均衡功能。环境设置包括一个LVS节点和两个真实服务器节点,通过配置ldirectord进行健康状态监测,确保系统的高可用性。 ... [详细]
  • 近期,考虑到在Vim内部进行GDB调试、运行Python脚本和数据库连接等多样化需求,思考是否可以通过集成终端来简化这些操作,而非逐一编写Vim脚本来实现。通过研究发现,确实存在一种高效的方法——利用特定插件实现终端功能的整合。 ... [详细]
author-avatar
mobiledu2502873187
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有