北京快三开奖

  • <tr id="U9YkSO"><strong id="U9YkSO"></strong><small id="U9YkSO"></small><button id="U9YkSO"></button><li id="U9YkSO"><noscript id="U9YkSO"><big id="U9YkSO"></big><dt id="U9YkSO"></dt></noscript></li></tr><ol id="U9YkSO"><option id="U9YkSO"><table id="U9YkSO"><blockquote id="U9YkSO"><tbody id="U9YkSO"></tbody></blockquote></table></option></ol><u id="U9YkSO"></u><kbd id="U9YkSO"><kbd id="U9YkSO"></kbd></kbd>

    <code id="U9YkSO"><strong id="U9YkSO"></strong></code>

    <fieldset id="U9YkSO"></fieldset>
          <span id="U9YkSO"></span>

              <ins id="U9YkSO"></ins>
              <acronym id="U9YkSO"><em id="U9YkSO"></em><td id="U9YkSO"><div id="U9YkSO"></div></td></acronym><address id="U9YkSO"><big id="U9YkSO"><big id="U9YkSO"></big><legend id="U9YkSO"></legend></big></address>

              <i id="U9YkSO"><div id="U9YkSO"><ins id="U9YkSO"></ins></div></i>
              <i id="U9YkSO"></i>
            1. <dl id="U9YkSO"></dl>
              1. <blockquote id="U9YkSO"><q id="U9YkSO"><noscript id="U9YkSO"></noscript><dt id="U9YkSO"></dt></q></blockquote><noframes id="U9YkSO"><i id="U9YkSO"></i>

                鸟哥的 Linux 私房菜
                目次 | Linux 根底篇 | Linux 效劳器篇 | Linux 企业使用篇 | 平安办理
                     
                 
                近来更新日期:2008/09/09
                我们经常讲,最好将差别的效劳器搭建在差别的主机硬体下面,也便是说,每部主机所担任的义务越复杂越好, 云云一来不光可以增加主机 debug 的时程,也可以简化装置与设计主机的架构。但是, 每个效劳一台主机关于小企业或许是集体户来说,光是安排主机的空间、电源、以及后续的办理题目, 就会招致一堆困扰的发生。这个时分,假造呆板就十分有效啦。

                所谓的‘假造呆板’便是在一台实体主机下面假造出多部实体主机的情况,且每部实体主机都是独立的, 除了本来的那部原主机外,其他的主机都可以独立开、关机,由于团体电脑的才能在比年来日新月异, 速率与效能都十分棒,以是用一台实体主机来停止假造呆板的搭建,并得当的分派差别的效劳在上头, 将有助于动力的浪费、办理的简化以及效劳追踪的简化哩!


                大标题的图示媒介
                这个章节次要是在引见 Xen 这个假造呆板,那,什么是假造呆板?他有什么用处? 现在有哪些罕见的假造呆板软件 (Virtual Machine) ?底下我们先来说一说。


                小标题的图示什么是假造呆板
                假造呆板 (Virtual Machine) 与 Apache 的假造主机 (Virtual host) (注1) 纷歧样, 假造呆板的目标是盼望可以在一台实体主机下面‘同时运作多个作业零碎’的一项功用。 为什么我们需求在一台主机下面同时运作多个作业零碎呢?能够缘由有几个:

              2. 让一台强效型主机担任多种业务时:
                由于电脑产业技能的兴旺,比年来的团体电脑不光越来越廉价,并且功用还越来越弱小! 就在前几个星期 (2007/09/xx) ,鸟哥也才收到两部‘四中心的、装备 2GB 主影象体’的团体电脑! 这在台湾当局的中信标案外面也曾经有提供了,可见团体电脑真实是廉价又好用。

                那么好用的一台电脑假如拿来当网络效劳器,你会以为很糜费!怎样说呢? 以鸟哥的鸟站 (http://linux.vbird.org/) 来说,一台 AMD AthlonXP 2000+ (1.6GHz 的 CPU 速率) 就跑得十分的顺畅, 运作至今应该也没有发作突发性大流量招致效劳中缀的状况,察看这部主机的均匀运作状况, 运用 sar 这个指令来观察一下,唔!逐日均匀 CPU 负载都在 10% 以下罢了。 以是说,这部四中心的电脑拿来当鸟站的主机,基本便是糜费了他的才干。

                假如可以将多种效劳会合在这部主机下面来跑,岂不甚好!才欠好哩! 假如你看过根底篇 (注2) 与效劳器篇 (注3) 的引见后, 一定会以为主机的效劳越单纯越好,如许在效劳软件除错以及主机情况的单纯化下面比拟好。 以是说,一台好的主机假如仅用于一个特定的用处,真实很糜费。但假如每个效劳都需求一台主机, 又以为很厌恶,由于包罗主机的硬体维护、电费、软件装置、网络设定等等,都很费事,尤其又贵!

                由于上述的题目,以是现在有许多专案都在开辟‘在一台实体主机下面模仿出另一台呆板’的功用, 也便是说:‘我们盼望可以在一台主机下面 "同时" 跑多个作业零碎’的意思。假如能到达如许的功用,实践的硬体可以省略失许多题目, 同时又可以充沛的使用实体主机的资源,真实很不错啊!

              3. 同时豁弄多种差别的作业零碎:
                工夫拉回到四、五年前,事先的主性能力仅是还可以,还不算很够力,并且价钱不斐。 但是事先多种作业零碎都很吸引人,包罗 Windows/Linux/Mac/DOS... ,各人都盼望可以实验一下这些作业零碎, 但是又不想费钱去购置一台新的主机来玩,这个时分多重开机 (注4) 就成了很紧张的一环, 由于他可以让我们在开机的进程当中选择所想要实行的作业零碎来操纵说。

                不外多重开机有个厌恶的缺陷,那便是‘我每次开机只可以单玩一种作业零碎’, 以是假如你想要在多个作业零碎之间切换时,光是开、关机就会让你火气大起来。 这个时分就有些公司开端开辟可以在一个作业零碎下面‘模仿出别的一个可实行的作业零碎’情况, 以是此时就可以在同工夫操纵两种作业零碎了。事先最盛行的是 VMWare 这一套软件啦!

                固然晚期就曾经无数种假造呆板的软件可以玩,不外事先终究是运用软件来模仿的, 硬体并不间接援助这种假造呆板的情况,以是效能下面十分的蹩脚!不外拜 Intel/AMD 鼎力开辟强效型 CPU 之功, 现在的主机硬体大局部都有援助假造呆板的才能,云云一来我们就可以运用疾速的假造呆板的情况啰!


              4. 小标题的图示有哪些罕见的假造呆板软件
                那么现在有哪些罕见的假造呆板软件呢?他们又各有何特征?底下就来说一说:

              5. 老牌子的 VMWare (http://www.vmware.com/)
              6. 晚期的玩家大约都有玩过这一套假造呆板的软件,这套软件晚期仅在 Windows 下面实行, 最大的长处便是可以让运用者在 Windows 情况下同时模仿出一套 Linux 的情况,同时实行两个作业零碎。 鸟哥之前运用这套软件的目标是用来捉 Linux 的装置画面!在这个功用下面 VMWare 真实很不错。

                不外晚期的 VMWare 效能不太好,加受骗时的主机效能也欠安,并且 VMWare 模仿的硬体不会与本来的主机相反, 因而鸟哥很不发起各人运用 VMWare 来学习 Linux 。但是随着期间的提高,现在 VMWare 曾经开展的相称不错, 同时也提供 Open source 的版本给 Unix-Like 平台的 OS 运用,算是很不错的。他也是现在假造呆板市场的龙头老大!

              7. 已渐趋成熟的 Xen (http://www.xensource.com/)
              8. Xen 因此 GNU 的 GPL 受权公布的自在软件,目标在于提供效能佳、可援助差别作业零碎的同时运作、 且让同时运作的作业零碎相互相互独立的零碎情况。Xen 是基于 X86 硬体所开辟出来的假造呆板监视器 (Virtual Machine Hypervisor) ,鸟哥以为他最大的长处便是效能佳!鸟哥曾在一台 Celoron 366 MHz, 影象体 192MB 的条记型电脑下面模仿出一个 Xen 呆板给上课的同窗们豁弄,同时连线 50 个同窗到该部模仿的 Xen 呆板上还不会以为有耽误的题目,效能真的是很不错。我们在下一节会细致的引见 Xen 这个好工具。

              9. 后起之秀 KVM (Kernel based Virtual Machine, http://kvm.qumranet.com/kvmwiki)
              10. 让 Linux 创造者 Linus Torvarlds 爱好而且将之参加中心功用的假造呆板便是这个 KVM 的技能! KVM 曾经于 Linux 2.6.20 版的中心中参加此项功用,KVM 不光提供完好的 Intel/AMD CPU 的假造技能援助, 并且提供完好的假造情况。固然现在这个技能还不算很成熟,不外将来应该也可以开展的很不错呢! 由于 Linux 中心自身就有援助啊! ^_^!更多的 KVM 可以参考: http://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine

              11. 酷!炫!有劲的 VirtualBox (http://www.virtualbox.org/)
              12. 另有一套自在软件的假造呆板可以用,那便是异样架构在 x86 下面的 VirtualBox 这套软件啦! 这套软件提供完好的假造情况,且可援助现在市道市情上的主流作业零碎。 鸟哥已经看过网中人长辈在他的条记型电脑下面玩过这套工具,十分的炫丽,并且提供图形化介面, 效能方面看起来也相称的良好。不外,仿佛整合度方面的题目,偶而模仿的作业情况会当失, 但是不会影响到原作业零碎便是了。想要在 Linux 桌上型电脑上玩玩假造情况的冤家,鸟哥以为这套工具最合适您!

                实在每套假造呆板的软件都有其存在的代价,由于他们的功用与目标都纷歧样。举例来说,鸟哥以为 VirtualBox 很合适于想在 Linux 桌上型电脑下面玩 Windows 的冤家,固然他不敷波动。至于 Xen 则很合适在一台高效能主机下面同时运作多个同版本的 Linux 零碎,由于波动度相称高,且功能良好, 可让运用者轻松的在一台呆板下面运作多个独立的作业零碎来辨别处置差别的网络效劳呢!

                Tips:
                这一章底下的材料扳连到许多硬体的看法以及 Linux 作业零碎最底层中心的架构阐明, 假如您不想要理解这些根底观点,可以间接看 CentOS 5.x 的实例阐明即可。
                鸟哥的图示

                大标题的图示初探 Xen
                Xen 的效能为什么可以这么好? Xen 在运用下面有什么样的限定?我的一台主机最多可以援助几个 Xen 的模仿情况? Xen 的模仿情况有几品种型? 这些疑问我们都得要先晓得一下才好! 固然,最好可以有个复杂的小例子来处置 Xen 的模仿情况啰。


                小标题的图示Xen 的假造范例与特征
                Xen 这套自在软件在假造呆板的模仿范例方面次要分为半假造化 (Para-virtualization) 及全假造化 (Full virtualization) 两种,此中半假造化次要是透过修正 Linux 中心来告竣的假造技能。 半假造化技能所发生的假造呆板需求与本来的作业零碎相反较佳。运用半假造化的情况所具有的特征有: (注5)
                • 假造呆板的运作服从与实体呆板的效能相称;
                • 最多可援助到具有 32 颗以上 CPU 的主机情况;
                • 援助 x86/32, x86/32 含 PAE 技能, 及 x86/64 的硬体平台情况;
                • 精良的硬体驱动顺序援助,简直援助一切的 Linux 安装之驱动顺序;
                Xen 的半假造化技能次要是用在相反版本的 Linux 下面,也便是说,假如你想要运用半假造化的方法启动多个假造呆板, 那么那些假造呆板全部都必需是相反的作业零碎,乃至要求相反版本与相反中心的 Linux distribution 喔。

                假如你想要装置差别版本的 Linux 或许是其他的 OS (比方 Windows XP) 时,就得要运用全假造化技能了。 但是全假造化技能是有其限定的,当你的硬体满意下列需求时,全假造化技能才干够举措:
                • 你的硬体援助 Intel 的 VT 技能 (Virtualization Technology, Intel-VT);
                • 你的硬体援助 AMD 的 SVM 技能 (Secure Virtual Machine, AMD-SVM or, AMD-V)。
                别的,下面提到的 PAE 指的是 Intel 的实体位址延伸技能 (Physical Addressing Extensions, PAE), 这项技能可让本来仅援助到 4GB 实体影象体的 32 位元硬体平台,可援助到最大 64GB 的影象体喔! 并且, Xen 简直可以在一切的 P-II 以上品级的硬体平台下面跑半假造化义务,假如不跑全假造化的话,实在效能的确是 OK 的啦!

                迩来由于假造呆板软件的盛行,加上 x86 电脑效能与 CPU 运算中心单位的添加,两大 x86 CPU 制造商 Intel/AMD 都宣布了新的整合到 CPU 的假造技能,辨别是 Intel 的 Vanderpool 假造技能以及 AMD 的 Pacifica 技能。 这些技能有的也援助 Xen ,这让 Xen 的效能增长不少呢! ^_^


                小标题的图示Xen 的运作情况表明
                根底学习篇外面我们已经谈过硬体、中心与使用顺序的干系, 一切的使用顺序都是在中心层之下去完成的 (注6)。 然后透过中心功用去呼唤与运用硬体元件的下令。好了, 如今来细心想一想,既然我有多个假造呆板,每个假造呆板的情况各异有本人的作业零碎中心, 也便是有多个作业零碎同时存在。假如一切的作业零碎都可以完好的控制硬体的话, 那么硬体究竟该承受谁的指令来运作?谁人零碎的指令会先被实行?这是很紧张的题目, 由于假如这边搞不定,那么你的硬体零碎就只要当机一途。

                为理解决这个题目,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 啰。这些咚咚的相干性有点像如许:

                Xen Hypersvisor 的功用表示图
                图 2-1、Xen Hypersvisor 的功用表示图(注7)

                由上图我们晓得 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 尚未被各 distribution 整合到各自的版本中时,运用者必需要由 Xen 的官方网站下载原始码, 然后自行重新编译中心以及编译 Xen 软件才行。说真实的,玩个 Xen 这么费事,倒不如不要玩!^_^。 但是在 RHEL 5 (CentOS 5) 当前, Xen 曾经包括在原始释出的套件中了,以是我们间接用 yum 就可以装置妥当! 以是要搞定一台 Xen 的 domain-0 曾经不再是不行能的义务啰!^_^

                关于 Xen 的根本原理有一些看法之后,接上去就让我们开端在 CentOS 5 下面停止一个小小的实行吧!


                小标题的图示确定你的硬体能否援助 Xen 的运作
                固然说现在的硬体都很新了,不外有的冤家运用的是旧的主机来装置 Linux ,以是我们必需要注意你的硬体能否援助 xen 的运作。而我们晓得 Xen 援助半假造化与全假造化两种形式,两种形式的需求为:

              13. 半假造化 (Para-virtualization) 硬体需求:
              14. 只需是 64 位元的 x86 主机 (x86_64) 都可以援助半假造化的情况。假如是 32 位元的主机 (x86) 时, 该主机必需要援助的实体位址延伸技能 (PAE) 才干够运用 xen 喔!那怎样确认呢?很复杂,反省 CPU 的参数即可:
                [root@linux ~]# cat /proc/cpuinfo | grep flags
                flags  : fpu tsc msr pae mce cx8 mtrr mca cmov pat pse36 mmx fxsr sse up
                
                嘿嘿!这一台主机是鸟哥的 P-III 800 主机,看吧!的确有援助 PAE 喔!以是固然可以玩 Xen 啰。

              15. 全假造化 (Fully-virtualization) 硬体需求:
              16. 假如你需求全假造化的技能援助时,此时需求硬体有援助假造化技能才行。 现在在 x86 的主机当中, Intel 提供 VT 技能, AMD 则提供 SVM 技能。 这两种技能在 CPU 的旗标辨别是: Intel (vmx) 与 AMD (svm) 。 鸟哥在 Core Duo 主机下面的测试可以发明:
                在 Intel Core 2 Duo 的 CPU 主机下面测试 CPU 旗标:
                [root@linux ~]# 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
                # 瞧!是有谁人 vmx 的援助啦!
                
                至于 AMD 的主机旗标则是:(下表感激donyingle兄的提供!)
                在 AMD Athlon(tm) 64 X2 的 CPU 主机下面测试 CPU 旗标:
                [root@linux ~]# 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 
                # 瞧!是有谁人 svm 的援助啦!
                
                假如确定你的 CPU 有援助上述的条件后,嘿嘿!那我们就可以开端底下的游戏啦!假如没有援助呢? 那很负疚,底下的材料看看就好!


                小标题的图示所需求的 Xen 套件与中心
                留意: 在开端装置之前,请先参考前一大节以确定你的硬体曾经援助 Xen 的半假造化功用了!

                大抵谈了一下 Xen 的原理、特征之后,在开端玩弄 Xen 之前,我们得理解运作 Xen 所需求的各项套件,而且顺遂装置后,才干够运用的啊! ^_^。好像前一大节提到的, 要运用 Xen 半假造化 (Para-virtualization) 必需要修正中心才干够顺遂的运作。 在曩昔的版本你需求重新编译中心,不外,在新的版本,比方 CentOS 5.x 底下,就曾经将 Xen 的中心帮你编译好了!你可以间接装置即可。以是,你需求装置的套件次要有:
                • kernel-xen:修正的 Linux 中心,使可以跑 Xen 的情况;
                • xen:次要的 xen 套件,包罗设定档、启动剧本、所需的根本函式库等;
                • xen-libs:Xen 所需求的函式库等;
                • python-virtinst:提供终端机装置的软件;
                • virt-manager:为一个图形运用者介面软件,可在图形介面办理 xen 喔!
                在 CentOS 5.x 的情况下,你可以运用 yum 间接来装置这几个套件。装置终了后请务必运用新的中心开机! 以鸟哥的例子来说,我装置了数个中心,包罗 kernel-2.6.18-8.1.14.el5 及 kernel-xen-2.6.18-8.14.el5 , 以是在 grub 的设定档当中会像如许:
                [root@linux ~]# vi /boot/grub/menu.lst
                default=0
                timeout=5
                splashimage=(hd0,0)/boot/grub/splash.xpm.gz
                hiddenmenu
                title CentOS (2.6.18-8.1.14.el5xen)
                        root (hd0,0)
                        kernel /boot/xen.gz-2.6.18-8.1.14.el5
                        module /boot/vmlinuz-2.6.18-8.1.14.el5xen ro root=/dev/hda1 rhgb quiet
                        module /boot/initrd-2.6.18-8.1.14.el5xen.img
                title CentOS (2.6.18-8.1.14.el5)
                        root (hd0,0)
                        kernel /boot/vmlinuz-2.6.18-8.1.14.el5 ro root=/dev/hda1 rhgb quiet
                        initrd /boot/initrd-2.6.18-8.1.14.el5.img
                
                你必需要留意到,鸟哥运用的开机选单为第0个,亦便是 2.6.18-8.1.14.el5xen 那一个! 然后重新启动这部 Linux 主机喔!启动完成后,应该再次确实认一下能否为 xen 的中心才行!
                [root@linux ~]# uname -r
                2.6.18-8.1.14.el5xen
                # 细心看,鸟哥的中心为新的 xen 的中心喔!
                
                [root@linux ~]# chkconfig --list | grep xen
                xend        0:off  1:off  2:on   3:on  4:on  5:on  6:off
                xendomains  0:off  1:off  2:off  3:on  4:on  5:on  6:off
                # Runlevel 3/5 的 xen 相干效劳是有启动的才行!
                
                [root@linux ~]# pstree -p | grep xen
                        |            |-xenbus(10)
                        |            `-xenwatch(9)
                        |-xenconsoled(2348)---{xenconsoled}(2349)
                        |-xenstored(2340)
                # 如许看来,应该的确是有启动的样子喔!持续最初一个确认!
                
                [root@linux ~]# xm list
                Name                  ID Mem(MiB) VCPUs State   Time(s)
                Domain-0               0      462     1 r-----     49.2
                # xm 为 Xen 的紧张指令,list 为列出曾经在跑的 xen 零碎,预设有 domain-0 存在!
                
                透过下面的测试,我们会晓得 xen 的确曾经顺遂的启动,并且也启动后面谈到的谁人紧张的 domain-0 啰! 接上去我们再来聊一聊那 xen 的设定档在那边?


              17. xen 的套件构造
                我们后面谈到过, Xen 在 domain-0 是由一个 xend 的效劳所办理的,他可以用来启动、封闭与保持到其他的 domain-U 当中。别的, Xen 亦提供很多的指令来让零碎办理员办理他们的 domain-U 啊!这些紧张的启动实行档为:
                • /usr/sbin/xend:便是 xend 的启动剧本,运用 python 顺序言语写成的;
                • /usr/sbin/xm:紧张的办理 xen 的指令,可输出 xm help 盘问用法。
                至于与 xen 有关的设定档,包罗一些模仿元件的启动剧本都在 /etc/xen 底下,在这个目次下的很多材料为:
                • /etc/xen/xend-config.sxp:这个紧张!是 xend 的设定档!内容包罗 domain-0 的范例、网络的保持方法、 domain-0 的影象体与CPU等资源设置装备摆设、能否运用 vnc 作为 domain-U 的连线方法等等。 不外,鸟哥以为,这个文件不太需求变动,运用预设值就很够用了。

                • /etc/xen/:外面含无数个 domain-U 的设定档范本,包罗:xmexample1, xmexample.hvm。 此中,谁人 xmexample.hvm 可作为完好模仿的参考范本喔!

                • /etc/xen/auto:假如你想要在零碎开机时就主动启动某个 domain-U 的话,可以将该设定档指定保持到这个目次中。 举例来说,假如你要在开机后立刻运用 /etc/xen/xmexample.hvm 设定档来启动某个 domain-U , 那可以如许做:
                  [root@linux ~]# cd /etc/xen/auto
                  [root@linux auto]# ln -s ../xmexample.hvm .
                  # 这只是个典范,你可不要随着做!由于 xmexample.hvm 还需求修正才干运作!
                  
                • /etc/xen/scripts:这目次风趣了!包罗假造设置装备摆设的启动、假造网络的启动、 假造桥接器的启动等等,都是透过这目次底下的一切文件来告竣的!
                在你装置终了,而且运用新中心启动后,接上去让我们开端来处置一个小案例吧!


              18. 小标题的图示第一个泛用实例
                就好像图 2-1 的样子,在主机上的一切 Linux OS 都需求本人可以开机, 而开机流程通常是如许的:(注8)
                • step 1: 按下电源,主机开端读取 BIOS 材料;
                • step 2: 获得开机的安装次序,并由 MBR 获得开机选单与开机办理顺序;
                • step 3: 由开机办理顺序载入 Linux kernel 及假造磁碟 (initrd);
                • step 4: Kernel 探测硬体载入得当的驱动顺序,并挂载根目次以读取中心模组;
                • step 5: 开端由 /sbin/init 顺序设定主机的情况。
                由上述的举措,我们可以晓得 Linux 开机的重点在于 1. 中心 2. 假造磁碟 (initrd) 及 3. 根目次 (/) 了。 固然中心与假造磁碟我们的 CentOS 5 曾经提供了,但是预设的假造磁碟仿佛并未自动的参加 Xen 的某些驱动顺序, 因而我们得需求针对假造磁碟停止设定才好。别的,每个 Xen domain 的根目次也很伤头脑的!由于根目次需求许多材料,并且还需求挂载相似 /sys, /proc, /dev, /selinux 等特别的文件零碎哩! 那该怎样处置根目次呢?底下就让我们来处置处置:


              19. 硬体援助性
              20. 就好像后面几个大节谈到的,假如我们的硬体并不援助 xen 所必需要的功用,那么你是无法树立好你的 domain-U 的! 在这个泛用案例当中我们的重点是测试半假造化,因而你只需具有 PAE 的援助即可。 鸟哥以较低阶的 P-III 800 来停止测试,硬体反省的后果是如许的:
                [root@linux ~]# cat /proc/cpuinfo | grep flags
                flags  : fpu tsc msr pae mce cx8 mtrr mca cmov pat pse36 mmx fxsr sse up
                
                你可以发明的确存在谁人 pae 的要害字,因而我们这个零碎是可以玩 Xen 的半假造化技能的! 以是让我们持续停止任务吧!


              21. 根目次所需磁碟槽
              22. 根目次所需磁碟槽的泉源可以有两个,一个是实体硬碟,一个是应用 dd 树立一个大文件来运用。 鸟哥比拟偏向应用 dd 来处置你的根目次喔!你可以如许做:
                典范:树立一个 5GB 的大文件
                [root@linux ~]# mkdir -p /disk2/xen
                # 由于鸟哥的 /disk2 为一颗额定的硬碟,以是容量比拟大啦!
                
                [root@linux ~]# cd /disk2/xen
                [root@linux xen]# dd if=/dev/zero of=xen.img bs=1M count=5000
                5000+0 records in
                5000+0 records out
                5242880000 bytes (5.2 GB) copied,178.482 秒,29.4 MB/s
                # 这个时分会开端发明一个 5GB 左右的文件,由于硬碟速率快慢的干系,
                # 这个举措能够会耗费数分钟到数非常钟不等。
                
                [root@linux xen]# ll /disk2/xen
                -rw-r--r-- 1 root root 5242880000 Oct 10 00:30 xen.img
                
                文件是树立起来了,不外假如你的 Linux 有启动 SELinux 的话,还需求一些范例的改动才可以! 实在举措也不难,如许做就对了!
                [root@linux xen]# chcon -t xen_image_t -R /disk2/xen
                [root@linux xen]# ll -aZ /disk2
                drwxr-xr-x  root root user_u:object_r:xen_image_t      .
                drwxr-xr-x  root root system_u:object_r:file_t         ..
                -rw-r--r--  root root user_u:object_r:xen_image_t      xen.img
                # 假如你有启动 SELinux 才需求这么做,不然就略过。
                # 横竖你要记得 Xen 的文件必需要是 xen_image_t 的平安内容范例。
                
                文件树立起来后,就需求停止款式化啰~款式化的办法为:
                典范:将方才树立的大文件款式化为 ext3 的文件款式
                [root@linux xen]# mke2fs -j /disk2/xen/xen.img
                mke2fs 1.39 (29-May-2006)
                /disk2/xen/xen.img is not a block special device.
                Proceed anyway? (y,n) y
                Filesystem label=
                OS type: Linux
                Block size=4096 (log=2)
                ....底下省略....
                
                由于这是文件不是磁碟联系槽,以是会有上述的正告讯息,你按下‘y’就对啦!


              23. 复制或装置根目次
              24. 由于 domain-U 与 domain-0 实在是一样的零碎,由于是半假造化嘛!以是,最复杂的根目次制造办法, 便是将本来的 domain-0 的根目次复制到新的联系槽内就对了! 以鸟哥的例子来说,你可以复杂的如许做:
                [root@linux ~]# mount -o loop /disk2/xen/xen.img /mnt
                # 先将方才制造出来的材料给他挂载起来,这是特别挂载法喔!
                
                [root@linux ~]# cp -ax /{root,dev,var,etc,usr,bin,sbin,lib} /mnt
                # 这几个目次的材料是肯定需求复制的!粉紧张!。
                
                [root@linux ~]# mkdir /mnt/{proc,sys,home,tmp,selinux}
                # 这几个目次与假造文件零碎有关,包罗顺序、中心材料等目次,以是要先树立
                
                [root@linux ~]# vi /mnt/etc/fstab
                /dev/sda1  /         ext3    defaults        1 1
                devpts     /dev/pts  devpts  gid=5,mode=620  0 0
                tmpfs      /dev/shm  tmpfs   defaults        0 0
                proc       /proc     proc    defaults        0 0
                sysfs      /sys      sysfs   defaults        0 0
                # 我这里假定我的根目次地点磁碟槽为 SATA 硬碟的第一个联系槽,
                # 以是是 /dev/sda1 。别的,其他的文件零碎如 proc, sysfs 都必需要写入!
                # 至于本来在 domain-0 的其他安装,就给他拿失吧!
                
                [root@linux ~]# vi /mnt/etc/sysconfig/network
                NETWORKING=yes
                NETWORKING_IPV6=no
                HOSTNAME=xen.test.hostname
                # 这里设定一下你的主机称号啦!
                
                [root@linux ~]# vi /mnt/etc/sysconfig/network-scripts/ifcfg-eth0
                DEVICE=eth0
                BOOTPROTO=none
                IPADDR=192.168.0.123
                NETMASK=255.255.255.0
                ONBOOT=yes
                # 发起将 IP 也设好。但是要留意谁人 HWADDR 最好可以拿失不设定!
                
                [root@linux ~]# umount /mnt
                # 记得将挂载的材料给他卸载失
                
                根本上,根目次的设定到这里就算完毕了!不外,你会发明由于 domain-U 的材料都是由 domain-0 来的, 而差别的主机实在设定不会相反,以是运用上述的作法你会发明有几个小题目:
                • 你必需要手动处置一些小设定,包罗主机称号, /etc/fstab, IP 参数等等;
                • 即便手动处置过上述的材料,照旧很能够会无法乐成的启动 domain-U ;
                • 由于 domain-0 能够会装置比拟多的套件,这些材料又在 domain-U 当中用不着,徒然形成硬碟容量的糜费。
                以是,固然这个办法最复杂,不外通常鸟哥不是很发起您运用啦! ^_^


              25. 设定假造磁碟映象档以及终端机介面
              26. 由于预设的 CentOS 假造磁碟 (Initial Ram Disk) 并不包括一些 Xen 的相干驱动顺序, 因而搞了老半天也是无法驱动 Xen 的 domain-U ,给他气去世! 以是,我们得先就 initrd 来停止一些额定的设定才行。 这个中央十分的紧张!由于鸟哥卡在这里好几天~最初才发明原来是 initrd 的题目啊~
                [root@linux ~]# mount -o loop /disk2/xen/xen.img /mnt
                [root@linux ~]# cd /boot
                [root@linux boot]#  mkinitrd -v -f --fstab /mnt/etc/fstab --with xenblk \
                > --with xennet --preload xenblk --preload xennet \
                > initrd-2.6.18-8.1.14.el5xen.vbird.img `uname -r`
                [root@linux boot]# umount /mnt
                # 细致的各项参数请 man mkinitrd ,上述的典范仅是应用 /etc/fstab 的安装来设定,
                # 而且加上一些 xen 相干的驱动顺序罢了。这个进程十分的紧张!
                # 终极会制造出一个 initrd-2.6.18-8.1.14.el5xen.vbird.img 文件
                
                除了这个假造磁碟之外,为了要方便我们登入 domain-U 的情况,我们需求发生一个终端机介面才行。 由于每个 domain-U 会运用到终端介面,但是我们晓得 tty1 ~ tty7 预设给 domain-0 运用失了。 为此,我们必需得要制造出一个假造的终端介面,那便是 xvc0 这个终端介面啰。怎样发生呢? 复杂的流程是如许:
                [root@linux ~]# vi /etc/inittab
                # 约莫在第 51 行的中央参加底下特别字体的局部:
                5:2345:respawn:/sbin/mingetty tty5
                6:2345:respawn:/sbin/mingetty tty6
                co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav
                # 意思是运用 agetty 树立 xvc0
                
                [root@linux ~]# init q
                # init q 这个指令可以让 /etc/inittab  的设定立即失效而不需求重新开机!
                
                [root@linux ~]# ln -s /dev/console /dev/xvc0
                # 假如 xvc0 没有自动树立的话,我们需求手动来树立保持才可以喔!
                
                做完这一步之后,接上去便是可骇的设定档啰~


              27. 编辑 xen 假造材料的设定档
              28. 接上去便是重头戏啦!由于我们必需要指定 domain-U 的相干假造设定值,包罗运用几颗 CPU 、运用几多影象体容量, 以及所运用的中心与根目次的地点等等。如前所述,这些设定档次要都在 /etc/xen 底下, 尤其外面的 xmexample1, xmexample2 等文件便是很好的阐明文件档,很有参考代价。 鸟哥先说一下我的设定是如许的:
                [root@linux ~]# vi /etc/xen/centos5
                # 这个文件的档名可以随意你取,不外设定档最好是在 /etc/xen 这个目次下才好!
                name    = "centos5"
                kernel  = "/boot/vmlinuz-2.6.18-8.1.14.el5xen"
                ramdisk = "/boot/initrd-2.6.18-8.1.14.el5xen.vbird.img"
                memory  = "128"
                vcpus   = 1
                vif     = [ '' ]
                disk    = [ 'tap:aio:/disk2/xen/xen.img,sda1,w' ]
                root    = "/dev/sda1 ro "
                # name:		只是一个表现的称号,普通发起与档名相反即可;
                # kernel:	在 domain-0 下面的文件,用来停止 domain-U 的开机!十分紧张!
                # ramdisk:	便是 initrd 谁人文件啰~方才我们才做出来的档名
                # memory:	分派给这个 domain-U 的影象体有几多?假如没有图形,96 MB 也可以!
                # vcpus:	运用几多颗 CPU 的意思;
                # vif:		能否需求网络卡,假如需求网络卡,至多要有设定!但内容可用预设!
                # disk:		用来作为根目次的是谁人磁碟,这个最紧张啦!语法为:
                #	tap:aio:/完好/途径/档名,设计为domain-U的磁碟代号,能否写入
                #		以我们这个例子来说,我将之前树立的大文件模仿成为 domain-U 的
                #		/dev/sda1 ,而且该 partition 为可写入 (w)。
                
                特殊特殊注意的是,下面的设定档当中的 kernel, ramdisk 以及 disk 都因此本来的主机 (domain-0) 的角度来考虑的, 也便是说,实践上我们是以 domain-0 的中心文件来停止 domain-U 的开机,因而你会发明在 domain-U 当中并不存在 /boot 这个目次喔!由于实践上用来开机的是 domain-0 的文件嘛!

                至于另一个重点便是谁人 disk 参数。我们可以运用模仿的方法也可以运用实践的 partition 来赐与设定。 假如是‘用文件来模仿成为 partition’时,运用两个逗号 (,) 离隔成为三个栏位,辨别为:

                tap:aio:/完好途径/文件的称号,安装代号称号,写入与否
                • [tap:aio:]:为较新的文件处置形式,旧的方法为运用:[file:]
                • [安装代号称号]:便是模仿的安装,请与 domain-U 内的 fstab 对应起来喔!
                • [w]:便是设定能否写入,若唯读则为[r]
                假如运用实体 partition 来模仿的话,那么扫尾的局部会以‘phy:’来代替。举例来说,假如我们以 /dev/hda5 来作为 domain-U 的 /dev/sda1 的话,那就会酿成:
                  disk = [ 'phy:/dev/hda5,sda1,w' ]
                假如统统都搞定之后,接上去让我们来启动 Xen 的 domain-U 吧!


              29. 应用 xm 指令启动与办理 domain-1
              30. 在 domain-0 可以运用 xm 这个指令来启动、封闭、删除某个 domain-U , xm 的指令用法是如许的:
                [root@linux ~]# xm [举措] [设定档名] [-c]
                参数:
                [举措]:要某个设定档内的 domain-U 作何举措之意,罕见的举措有:
                   create   :启动这个 domain-U 的意思,比方启动 centos5 这个设定档时,运用:
                              xm create centos5
                   destroy  :立刻由影象体中,将这个 domain-U 给删除,常用于 domain-U 出题目时
                   list     :将现在曾经启动的 domain 都列出来之意;
                   console  :如有已树立的 domain-U 时,可用 console 来获得 domain-U 的终端介面
                   shutdown :封闭某个已启动的 domain。假如想要封闭全部的 domain-U ,可用
                              xm shutdown -a
                [设定档名]:亦即在 /etc/xen/ 目次下的档名啰;
                -c :同时树立到该设定档的终端介面 (console)
                
                假如想要启动我们方才树立的 centos5 这个设定档内的 domain 时,你可以运用‘xm create -c centos5 ’即可。 谁人 -c 的作用是可以让你间接获得 domain-U 的终端机介面。鸟哥在 pietty 下面连线到 domain-0 , 然后启动 centos5 这个 domain 的状况如下所示:

                启动 xen domain-U 的表示图
                图 2-2、启动 xen domain-U 的表示图

                在图 2-2 当中,输出指令后 domain-U 的开机流程就会依序的表现在你的终端机上, 觉得上就仿佛坐在电脑后面看 Linux 主机开机一样!真实是很不赖!最初假如开机顺遂乐成的话, 后果会像下图所示如许:

                启动 xen domain-U 的表示图
                图 2-3、启动 xen domain-U 的表示图

                在图 2-3 当中,最上方圈起来的开机讯息是错误讯息。由于我们是复制 domain-0 的一切材料, 因而连同本来写在 /etc/rc.d/rc.local 文件内的实行进程也会被实行。但是 domain-U 的情况与 domain-0 并非完全相反,以是就会如上所述呈现一些错误讯息啦!这也是我们需求额定处置的局部喔。

                当你以 root 的身份登入后 (这个真的是终端机,并非是 ssh 的画面喔!),会发明多了一个 xvc0 的终端介面, 这个介面得先在 /etc/inittab 外面设定好才行!假如统统都 OK 了!祝贺您,你曾经登入 domain-U 啰! 接上去请你自行依据你的需求来设定好你的 domain-U 吧!让这两个 domain 并行呢!

                好了,如今我怎样登出 centos5 这个 domain-U 呢?你可以如许做的:
                • 间接在 domain-U 的情况中按下 [ctrl]-] 这个组合键来回到 domain-0 的情况;
                • 间接封闭 pietty 等连线的软件;
                • 应用其他 bash 来完毕 (kill) 失运用 xm 所树立的连线顺序
                风趣的是,即便你运用上述的办法来分开 domain-U 时, 也不会影响到 domain-U 的持续运作!并且 root 也不会登出,比及你下次再以‘ xm console centos5 ’时, 会持续获得 root 的举措持续处置方才未完成的任务呢!很神奇吧~

                如今,请跳回 domain-0 的中央,或许是应用别的一条 pietty 的连线连入 domain-0 ,我们运用 xm list 来观察一下各个 domain 的情况吧!
                [root@linux ~]# xm list
                Name             ID Mem(MiB) VCPUs State   Time(s)
                Domain-0          0      366     1 r-----    735.2
                centos5          42      127     1 ------     52.4
                # 你会发明多了一个 domain 呈现!称号为 centos5 啦!
                # 你也会发明有个 State 吧!谁人 State 的意义是如许的:
                # r :该 domain 正在运用 CPU 资源在运作中;
                # b :这个 domain 现在被悬置(blockded),很能够由于这个 domain 在等候较永劫间
                #     的输出输入 (I/O) 之故。
                # p :该 domain 处于停息的形态,通常由于办理员运用 xm pause 之故。
                #     当 domain 在此形态时, Xen 的监视器将不会处置该 domain 的举措;
                # s :这个 domain 正在关机当中
                # c :这个 domain 曾经 crash 了,但是却没有主动的关失。通常是由于没有设定
                #     on_crash 的相干举措所致。
                # d :该 domain 正在殒命中...由于该 domain 无法准确的 shutdown/crashed 之故。 
                
                很复杂吧!如许就完成你的 Xen domain 啰~开端将你所想要的网络效劳分门别类的放到差别的 domain-U 中吧! 加油!

                例题:关于怎样登入 domain-U
                  我在启动 domain-U 的时分,运用指令为‘ xm create domain-U ’招致我运用 xm list 可以看到新的 domain-U 在运作,但我照旧在 domain-0 。叨教此时我该怎样登入 domain-U 呢?
                答:
                  有两种方法,假如想要获得 domain-U 的终端机形式,请运用:

                    xm console domain-U

                  假如你晓得 domain-U 的 IP,而且 domain-U 有启动相似 ssh/telnet 的效劳时,可运用网络效劳登入。举例来说 domain-U 的 IP 为 192.168.100.100,且有启动 ssh ,则你可以运用:

                    ssh username@192.168.100.100

                例题:关于怎样封闭 domain-U
                  我运用 xm list 时,发明 domain-U 曾经启动了,我该怎样封闭这个 domain 呢?
                答:
                  假如你在 domain-0 上头的话,可以运用:

                    xm shutdown domain-U

                  来封闭这个 domain-U , 假如极度一点,你想要封闭一切的 domain-U (除了 domain-0 之外),则可以下达:

                    xm shutdown -a

                  那假如你是在 domain-U 外面呢?想封闭该 domain 就间接给他:

                    shutdowm -h now

                  即可,就仿佛普通正常顺序关机一样喔! 那假如万一 domain-U 无法顺遂关机,则你可以在 domain-0 下面间接下达删除的指令:

                    xm destroy domain-U

                例题:关于反复登入的题目
                  我应用 xm create -c domain-U 的方法获得终端机来登入 domain-U 了,后果别的一个运用者运用‘xm console domain-U’也来登入该 domain,此时会发作什么题目?该怎样处理?
                答:
                  由于预设状况下,一个 domain-U 仅有一个终端机,因而第二个登入者将不会讯问帐号暗码, 而是间接以第一个登入者的身份获得该终端介面,亦即两者将具有相反的终端介面与一切资源。 但云云一来会招致控制权的抢夺效应,终极后果两者都无法控制该终端介面。此时发起两者均分开该终端介面, 然后让单一运用者以 xm console 登入,另一运用者则运用相似 ssh 的方法网络登入即可。


              31. 罕见错误剖析
              32. Xen 的启动实在是颇不容易的,经常会有一些错误状况发作。底下我们来看看一些罕见的错误状况, 让您理解到,您无法启动 Xen 的能够缘由为何?


              33. 没有启动 Xen 的 xend daemon
              34. [root@linux ~]# xm create -c centos5
                Using config file "./centos5".
                Error: Unable to connect to xend: Connection refused. Is xend running?
                
                如上所述,一定你没有启动 xend 这个 daemon 的啦!间接启动他即可:‘/etc/init.d/xend start’


              35. 运用到错误的中心或许 domain-0 未以新 xen 中心开机
              36. [root@linux ~]# xm create -c centos5
                Using config file "./centos5".
                Error: (22, 'Invalid argument')
                
                然后请到登录档内看看,亦便是 /var/log/xen/xend.log 档内,假如呈现如下的错误:
                [root@linux ~]# cat /var/log/xen/xend.log
                [2007-10-17 13:18:48 xend.XendDomainInfo 31254] ERROR 
                (XendDomainInfo:203) Domain construction failed
                
                很有能够便是你的中心文件用错。此时请反省一下你的设定档,看看‘kernel’的项目能否设定准确? 我们务须要运用 xen 相干的中心来开机才行啊!


              37. SELinux 或许是文件权限的题目
              38. [root@linux ~]# xm create -c centos5
                Using config file "/etc/xen/centos5".
                Error: Kernel image does not exist: /boot/vmlinuz-2.6.18-8.1.14.el5xen
                
                但我看过 /boot/vmlinuz-2.6.18-8.1.14.el5xen 的确是存在的,能够缘由为何?普通来说,这种题目应该是 SELinux 的影响所致。确定办法可以用‘setenforce 0’然后再重新‘xm create -c centos5’测试看看, 假如确定可以登入,那表现您的 /boot/vmlinuz-2.6.18-8.1.14.el5xen SELinux 平安款式内容不合错误。 准确的中心开机范例应该是:
                [root@linux ~]# ll -Z /boot
                -rw-r--r--  root root system_u:object_r:boot_t         config-2.6.18-8.1.14.el5xen
                -rw-------  root root user_u:object_r:boot_t           initrd-2.6.18-8.1.14.el5xen.vbird.img
                -rw-r--r--  root root system_u:object_r:boot_t         symvers-2.6.18-8.1.14.el5xen.gz
                -rw-r--r--  root root system_u:object_r:system_map_t   System.map-2.6.18-8.1.14.el5xen
                -rw-r--r--  root root system_u:object_r:boot_t         vmlinuz-2.6.18-8.1.14.el5xen 
                
                请自利用用 chcon 指令来处置 SELinux 的错误吧!

              39. Kernel panic 的题目
              40. 假如呈现如下的可骇画面时:
                ....后面省略....
                Loading ext3.ko module
                Creating root device.
                Mounting root filesystem.
                mount: could not find filesystem '/dev/root'
                Setting up other filesystems.
                Setting up new root fs
                setuproot: moving /dev failed: No such file or directory
                no fstab.sys, mounting internal defaults
                setuproot: error mounting /proc: No such file or directory
                setuproot: error mounting /sys: No such file or directory
                Switching to new root and running init.
                unmounting old /dev
                unmounting old /proc
                unmounting old /sys
                switchroot: mount failed: No such file or directory
                Kernel panic - not syncing: Attempted to kill init!
                
                呈现这个‘Kernel panic’的题目十分的多且庞大,实在次要的缘由便是无法挂载根目次。 由于你中心文件曾经停止探测,而且假造磁碟文件 (initrd) 也曾经载入啰! 那什么状况下会无法挂载根目次呢?你应该要如许查阅:

              41. 1. 用来作为根目次的文件 SELinux 范例不合错误:

                起首,请先到 /var/log/messages 外面观察一下,假如呈现如下画面:
                Oct 17 12:04:17 xen-test kernel: audit(1192593857.395:259): avc:  
                denied  { search } for  pid=29687 comm="tapdisk" name="/" dev=hdc1 
                ino=2 scontext=system_u:system_r:xend_t:s0 
                tcontext=system_u:object_r:default_t:s0 tclass=dir
                # 下面是统一行,意思是说,该文件读取被回绝了,由于顺序的款式为:
                # scontext=system_u:system_r:xend_t:s0 ,但是你的文件款式为特别字体局部,亦即:
                # tcontext=system_u:object_r:default_t:s0
                # 以是这个文件的读取就被‘deny’了!
                
                这表现你用来作为根目次的文件 SELinux 范例不合错误,准确的文件范例是如许的:
                -rw-r--r--  root root user_u:object_r:xen_image_t      xen.img
                
                以是你可以运用相似底下的方法来处置:
                [root@linux ~]# chcon -t xen_image_t -R /disk2
                
                好像连同最顶层的 /disk2 都需求修正 SELinux 平安内容才行!以是你可以加 -R 来让子目次失效!

              42. 2. initrd 假造磁碟没有载入准确的模组

                另一个能够缘由便是假造磁碟并没有载入 domain-U 需求的模组,以是你必需要细心看下面的输入讯息有没有这个项目:
                Creating block device nodes.
                Loading xenblk.ko module
                XENBUS: Timeout connecting to device: device/vbd/2049 (state 3)
                Loading xennet.ko module
                netfront: Initialising virtual ethernet driver.
                netfront: device eth0 has flipping receive path.
                Loading uhci-hcd.ko module
                
                这表现曾经载入了 xen 的相干模组,假如你的画面没有这个讯息时,请参考前一大节关于假造磁碟的阐明。而且更新你的 domain-U 设定档吧!

              43. 3. 设定档内容写错

                许多时分我们都市打错字~真实很费事~以是假如上述两点你都确认过了,接上去请反省一下你的打字有没有题目。 假定我的 xen 文件是安排到 /disk2/xen/xen.img 外头,那么两个中央要留意:
                [root@linux ~]# vi /etc/xen/centos5
                name    = "centos5"
                kernel  = "/boot/vmlinuz-2.6.18-8.1.14.el5xen"
                ramdisk = "/boot/initrd-2.6.18-8.1.14.el5xen.vbird.img"
                memory  = "128"
                vcpus   = 1
                vif     = [ '' ]
                disk    = [ 'tap:aio:/disk2/xen/xen.img,sda1,w' ]
                root    = "/dev/sda1 ro"
                
                模仿的安装 (disk 项目内) 以及根目次的地点安装 (root 的项目) 需求共同乐成,不然就会失败了! 固然啦,模仿的安装也必需要跟实践的文件相反才行喔!


              44. domain-U 自身的题目
              45. 假如开机曾经抵达上面的情况时:
                unmounting old /sys
                INIT: version 2.86 booting
                                Welcome to  CentOS release 5 (Final)
                                Press 'I' to enter interactive startup.
                正在设定时钟  (localtime): 三 10月 17 13:24:28 CST 2007 [  确定  ]
                正在启动 udev: [  确定  ]
                ....两头省略....
                正在反省文件零碎
                Checking all file systems.
                [/sbin/fsck.ext3 (1) -- /] fsck.ext3 -a /dev/hda1
                fsck.ext3: No such file or directory while trying to open /dev/hda1
                /dev/hda1:
                The superblock could not be read or does not describe a correct ext2
                filesystem.  If the device is valid and it really contains an ext2
                filesystem (and not swap or ufs or something else), then the superblock
                is corrupt, and you might try running e2fsck with an alternate superblock:
                    e2fsck -b 8193 
                
                [失败]
                
                淫乱 反省文件零碎时发作错误。
                淫乱 零碎将带您进入 shell 形式; 然后重新开机
                淫乱 当您分开 shell 时。
                Give root password for maintenance
                (or type Control-D to continue):
                
                留意到下面特别字体的局部,既然曾经呈现了 INIT 的字样,这表现 domain-U 曾经经过了中心探测、 根目次挂载等举措,且曾经顺遂的在实行 /sbin/init 这个指令了,因而我们可以确信一切的 Xen 设建都是准确的, 能够发作的错误就在 /disk2/xen/xen.img 这个文件内的设置装备摆设了。你能够需求根据开机流程一个一个的行止理相干的错误喔! 最能够发作的便是在 domain-U 的 /etc/fstab 啰~

                大标题的图示其他半假造化的装置方法
                由前一大节的泛用实例我们可以理解,假如 domain-U 的根目次泉源为复制自 domain-0 的话, 那么我们必需要手动修正许多设定档,十分的费事~ 既然云云,有没有能够我们可以自即将装置顺序放入根目次的建置呢?也便是说, 谁人 /disk2/xen/xen.img 的内容实在便是颠末装置顺序而来的,而不是经过复制的。 云云一来不就一切题目都处理了,并且新装置的零碎照旧很洁净的零碎呢! 的确云云!现在 CentOS 5 提供一个好用的软件,那便是 virt-install, 你可以运用 virt-install -h 来观察可以运用的指令哩。

                但是在开端底下的实例之前,你必需要晓得几点限定才行:
                • 最复杂的装置方法为复制 domain-0 的根目次来给 domain-U 运用(便是后面的典范);
                • 半假造化的装置方法‘并不援助运用光碟或 DVD 的装置形式’;
                • 半假造化仅可透过 http, ftp, nfs 等方法来装置洁净的 Linux 零碎;
                看到上头的限定您应该会吓一跳吧!怎样不克不及用原版光碟装置喔?没错~是如许! 运用原版光碟或许是原版光碟的 iso 文件装置时,仅有全假造化情况可以到达罢了。 那你应该会问,我怎样制造或许是获得装置用的效劳器呢?实在我们可以应用各大专院校的 FTP 网站即可啊! 不需求自行设定装置效劳器的。不外,假如你的情况并非学术网络的话,最好照旧自行设定一下装置效劳器比拟妥当。 为了每位差别地点处的冤家,以是底下我们先疾速的讲一讲怎样制造一台装置效劳器,然后再处置其他任务吧! ^_^


                小标题的图示制造装置效劳器 (Installation Server)
                如前所述,半假造化的 Xen 仅援助 NFS, HTTP, FTP 等网络方法装置,并不援助原版光碟装置的形式, 因而我们得要找到可提供装置的主机才行。假如您在台湾的学术网络中, 那么可以选择国度高速网络中央或许是义守大学的 FTP 网站做为泉源,举例来说,如下网址便是一个案例:
                万一你是一家企业呢?那最好运用外部的主机搭建成为装置效劳器来装置你的 domain-U 比拟妥当。 以下鸟哥以 NFS 的方法来复杂阐明一下建置 CentOS5 的装置效劳器啰。

                1. 选择容量大于 5GB 以上的磁碟联系槽:

                  由于完好的 CentOS5 原版光碟含有很多多少的套件,至多也需求 3500MB 以上的容量来包容 DVD 碟内的一切材料。 但是鸟哥的主机现在没有额定计划扩大性的题目,因而就得要加挂硬碟啦! 鸟哥是将我的 CentOS5 原版光碟安排到俺的 /disk1/yum/centos5 目次下的, 这个目次为别的一个独立的 partition ,关于 partition 的处置办法请自行参考根底篇的阐明,这里不赘述了。


                2. 复制一切需求的套件:

                  先挂载 CentOS5 的光碟或 DVD 碟,然后间接复制即可:
                  [root@linux ~]# mount /dev/cdrom /mnt
                  [root@linux ~]# mkdir -p /disk1/yum/centos5
                  [root@linux ~]# cp -a /mnt/* /disk1/yum/centos5
                  [root@linux ~]# umount /mnt
                  
                  假如你是运用光碟的话,那么上述的举措就得要停止六次,由于 CentOS5 共有六片光碟。 并且每片光碟内会有一些反复的文件,因而零碎会正告你‘能否要掩盖?’此时按下‘y’去掩盖即可。


                3. 树立装置所需求的文件干系性材料

                  普通来说,运用 yum 的零碎在他 RPM 文件地点的目次下都市有一个名为 repodata 的目次, 该目次记载着文件的相干性以及一些根本的装置资讯。但由于我们将材料复制到本人的主机上, 因而一些根本材料能够就不会符合,以是我们需求重新制造出这个目次才行。 制造这个目次必需要装置 createrepo 套件,预设的状况下是不会装置该套件的, 因而我们可以如许做:
                  [root@linux ~]# yum install createrepo
                  # 便是装置某个套件罢了,这个套件便是用在制造 repodata 目次的。
                  
                  [root@linux ~]# cd /disk1/yum/centos5
                  [root@linux centos5]# cp repodata/comps.xml /tmp
                  # 先将某些装置资讯给他复制出来,预备应用。
                  
                  [root@linux centos5]# rm -r repodata
                  # 本来的材料不需求了,将他删撤除再说。
                  
                  [root@linux centos5]# createrepo -g /tmp/comps.xml .
                  # 重新树立好 repodata 目次啰!
                  


                4. 启动与设定 NFS 文件零碎

                  接上去便是设定 NFS 啦!为什么要选择 NFS 呢?由于他够复杂!哈哈!
                  [root@linux ~]# vi /etc/exports
                  /disk1/yum/centos5      *(ro)
                  # 先设定好 NFS 所要分享的目次地点
                  
                  [root@linux ~]# chcon -t public_content_t -R /disk1/yum/centos5/
                  # 确定一下你的这个目次是可以透过 SELinux 来办理分享的!
                  
                  [root@linux ~]# /etc/init.d/portmap start
                  [root@linux ~]# /etc/init.d/nfs start
                  [root@linux ~]# /etc/init.d/nfslock start
                  # 将效劳给他启动吧!
                  
                  [root@linux ~]# showmount -e localhost
                  Export list for localhost:
                  /disk1/yum/centos5 *
                  
                  假如可以看到终极的后果,那就表现你的 NFS 制造妥当了!
                终极可以晓得我们是:
                • 装置协议运用 NFS
                • 主机称号为你这部主机的 IP, 留意,不要运用 127.0.0.1 来装置!
                • NFS 的途径为 /disk1/yum/centos5
                好了,开端来装置洁净的 Linux 零碎在 domain-U 下面吧!


                小标题的图示应用 virt-install 指令装置洁净的 CentOS
                有了 NFS 装置效劳器后,再来我们运用 virt-install 来装置啰~ 装置的方法十分的复杂,你可以如许做即可:
                1. 先树立我们所需求的大文件来作为 domain-U 的磁碟:
                [root@linux ~]# dd if=/dev/zero of=/disk2/xen/centos5.virt.img \
                > bs=1M count=4096
                [root@linux ~]# chcon -t xen_image_t /disk2/xen/centos5.virt.img
                # 我树立了一个 4GB 巨细的文件来作为装置之用!这个容量应该是够用的! ^_^
                # 比拟需求留意的是,假如你有启动 SELinux 时,请留意修正文件的平安内容。
                
                2. 开端运用 virt-install 来装置吧!
                [root@linux ~]# virt-install -n centos5_virt -r 256  \
                > -f /disk2/xen/centos5.virt.img --nographics \
                > -l nfs:192.168.1.254:/disk1/yum/centos5
                # -n :前面接你的 domain-U 的称号,这个称号的设定档会被自动树立在 /etc/xen 底下
                # -r :前面接你要给这个 domain-U 的影象体,现在至多需求 256MB 才干够实行
                # -f :前面接的便是谁人要给 domain-U 的大文件啰!
                # --nographics :不运用图形介面来装置的意思;
                # -l :前面接装置效劳器的泉源。装置效劳器的写法为:
                #   NFS 时:   nfs:主机的IP:可以装置的目次
                #   WWW 时:   http://主机的IP/实践的/完好目次
                #   FTP 时:   ftp://主机的IP/实践的完好目次
                
                假如统统顺遂的话,如今就可以进入装置画面了!不外请留意,您的 domain-0 需求开放防火墙让人家运用 NFS 喔! 不然你是无法顺遂装置的啦! ^_^

                接上去的画面鸟哥因此 pietty 连上 domain-0 之落伍行画面撷取的,由于 Xen 的终端机介面表现原本就怪怪的, 加上鸟哥所运用的画面较小,以是您会发明怎样字体都市跑失~真是欠好意思~ 总之,跟普通笔墨介面的装置方法是如出一辙啦!让我们开端来看看图示吧!


              46. 1. 语系的选择:

                如下图所示,由于终端机形式仅有英文表现字元,因而我们间接选择‘English’吧。 请留意运用 [Tab] 按键在各个元件之间跳动喔!

                先选择语系材料
                图 3-1、先选择语系材料


              47. 2. 关于 domain-U 装置时的 IP 设定:

                普通 IP 设定有 DHCP 与手动设定,假如你的主机地点情况具有 DHCP 效劳器,且你的装置效劳器有针对外部网络开放防火墙时, 那为了方便,你可以间接运用 DHCP 协议即可,如下图所示:(普通来说,鸟哥都市发起先取消 IPv6 的援助)

                设定 IP 获得为 DHCP 或许是手动间接赐与 (Manual)
                图 3-2、设定 IP 获得为 DHCP 或许是手动间接赐与 (Manual)

                万一你的主机地点情况没有提供 DHCP 的效劳时,那你的 IP 就得要手动赐与了。在上图当中请选择‘ Manual configuration ’项目,则会呈现如下图所示的状况,请填入地区网络的 IP 参数吧。 在本例中鸟哥的 domain-U IP 设定为 192.168.1.31/255.255.255.0 啰~

                手动设定 IP 的表示图
                图 3-2-1、手动设定 IP 的表示图


              48. 3. 欢送画面与联系槽正告讯息:

                接上去仅是阐明欢送的画面,另有,由于我们运用的文件会被视为‘一颗硬碟’而不是一个 partition , 以是会有正告讯息阐明要留意的中央罢了。请注意,在预设的状况下, 模仿的硬碟代号为 /dev/xvda 喔!

                只是欢送画面!
                图 3-3、只是欢送画面!

                只是一个正告讯息,间接 OK 过来!
                图 3-4、只是一个正告讯息,间接 OK 过来!


              49. 4. 开端停止磁碟联系的举措:

                进入装置形式后,这个中央最紧张!我们方才树立了一个 4GB 的文件作为硬碟之用,而这颗模仿硬碟的磁碟为 /dev/xvda, 我们晓得在装置的时分最紧张的两个 partition 为 / 与 swap ,以是就得要停止底下的联系咯! 如下所示,起首我们必需要树立一个客户自订的联系状况 (Create custom layout), 请运用 [Tab] 按键选择好像下图的阐明:

                决议联系的形式,请运用 Custom layout
                图 3-5、决议联系的形式,请运用 Custom layout

                接上去进入到下图之后,我们必需要树立根目次 (/) 与假造影象体 (swap),在这里我设定根目次为 3200MB, 至于 swap 则设定 256MB。树立的办法依序如下:

                进入联系画面的状况
                图 3-6、进入联系画面的状况

                按照图中的阐明,辨别选择各项参数
                图 3-7、按照图中的阐明,辨别选择各项参数

                别的一个 Swap 的设定办法
                图 3-8、别的一个 Swap 的设定办法

                若前两个画面设定妥当后,最初你会看到如下的图示,反省看看能否一个根目次与一个 swap 呢? 若没题目的话,就按下 [OK] 吧!

                终极的联系表形态
                图 3-9、终极的联系表形态

                只是正告假造影象体比实体影象体少,不必理睬他!
                图 3-10、只是正告假造影象体比实体影象体少,不必理睬他!


              50. 5. boot loader 以及开机选项

                设定到此,我们可以开端来决议开机办理顺序的相干举措了。起首,固然肯定需求 boot loader 啊! 以是好像下图,我们要运用 Grub 啰!

                运用 grub 作为开机选单
                图 3-11、运用 grub 作为开机选单

                在预设的状况中,domain-U 所运用的终端介面 (console) 为应用 xvc0 这个安装来处置的, 这个局部预设会呈现,以是不用理睬他!

                domain-U 所运用的终端介面安装
                图 3-12、domain-U 所运用的终端介面安装

                能否需求开机选单暗码?不需求吧?
                图 3-13、能否需求开机选单暗码?不需求吧?

                选单只要一个,以是就不必改了。
                图 3-14、选单只要一个,以是就不必改了。

                运用预设的 DHCP 与 IPv4 即可
                图 3-16、运用预设的 DHCP 与 IPv4 即可

                主机称号也先不要设定,运用 DHCP 预设值
                图 3-17、主机称号也先不要设定,运用 DHCP 预设值


              51. 7. 时区与 root 暗码:

                由于我们运用台湾时区,以是这里要细心的选择喔!

                时区请务必选择台湾啊!
                图 3-18、时区请务必选择台湾啊!

                root 暗码要设定,不要随意啊!
                图 3-19、root 暗码要设定,不要随意啊!


              52. 8. 套件装置的选择以及实践开端装置:

                由于我们盼望的 domain-U 是用来停止效劳器搭建的,以是这里鸟哥选择 Server 罢了, 如下图所示。全体装置起来差未几是 1.x GB 的容量罢了喔!

                仅选择 Server 的装置设定
                图 3-20、仅选择 Server 的装置设定

                仅是剖析套件的相依性画面罢了
                图 3-21、仅是剖析套件的相依性画面罢了,请等候!

                这个是告诉讯息,见告你的选择将会被记载到该处
                图 3-22、这个是告诉讯息,见告你的选择将会被记载到该处

                看到否,开端装置的整个进程
                图 3-23、看到否,开端装置的整个进程

                装置终了,请重新开机吧!
                图 3-24、装置终了,请重新开机吧!

                重新开机终了后,呈现等候登入的画面表示
                图 3-25、重新开机终了后,呈现等候登入的画面表示

                整个进程十分的复杂,就好像你在装置一台笔墨介面的 Linux 主机普通。 从开端装置到完毕的整个进程中,破费比拟多工夫在设定项目,完好装置差未几 10 分钟就搞定了。 这照旧由于鸟哥运用旧型主机来装置的,鸟哥曾以新 P4 主机来装置过这一整个流程, 开端装置到完毕不到 3 分钟,真实黑白常的疾速啊!

                接上去你可以查阅一下 /etc/xen/centos5_virt 表现的内容, 该文件是由 virt-install 自动帮我们树立的,我的材料如下所示:
                [root@linux ~]# cat /etc/xen/centos5_virt
                # Automatically generated xen config file
                name = "centos5_virt"
                memory = "256"
                disk = [ 'tap:aio:/disk2/xen/centos5.virt.img,xvda,w', ]
                # 细心瞧,发明 xvda 了吗?便是这里决议的啦!
                
                vif = [ 'mac=00:16:3e:2f:4a:ef, bridge=xenbr0', ]
                # 可以间接指定模仿网卡的实体卡号以及运用的桥接器
                
                uuid = "9a968f71-c36b-d48a-5a03-304bb41a639f"
                # 乃至可以间接界说安装的 uuid 号码呢!
                
                bootloader="/usr/bin/pygrub"
                # 没有中心了!而是应用 domain-U 本人的中心来开机的!
                # 要运用 domain-U 的中心来开机,就得用这个设定项目才行!
                
                vcpus=1
                on_reboot   = 'restart'
                on_crash    = 'restart'
                
                接上去请开端运用 xm create -c centos5_virt 来启动这个洁净得空的 domain-U 啰!


              53. 小标题的图示CentOS5 所提供的一个实例
                固然 virt-install 曾经有够好用了,不外在某些状况下照旧无法实行的。起首, virt-install 要求 domain-U 在装置时肯定要赐与 256MB 的影象体,假如你的影象体少于 256MB 时,一定无法实行 virt-install ~ 再者在 SELinux 启动的状况下,能够还会有无法实行 virt-install 的状况发作。 还好, CentOS5 提供了一个可以驱动装置顺序的中心给我们来停止装置进程! 接上去我们将以 CentOS5 官网所提供的 kernel file 来停止装置的实作喔!

                实在整个进程挺复杂的,最紧张的便是必需要运用 CentOS5 官网所提供的中心与假造磁碟映像档, 有这两个工具就可以处置装置的顺序了。底下我们就一步一步来处置这个设定吧!


              54. 0. 树立网络连线所需的 DHCP 效劳器
                在预设的状况下 Xen 运用的网络情况为应用桥接方法 (bridge) 来保持实践的网络情况。 但在这种形式底下 domain-U 在装置时,获得 IP 的方法次要为应用 dhcp 协议, 运用手动的方法来设定 IP 倒是不行行的方案!除非要转成应用 NAT 的形式来处置。 假定我们都先不变动 Xen 的预设情况,那么我们就得要针对 Xen 的网络形式来树立一台 dhcp 效劳器了。

                细致的 dhcp 效劳器建置办法请参考效劳器搭建篇的引见, 鸟哥在这里仅应用一些工夫很快的将整个流程处置一下吧! 需求留意的是,假如你的网络内曾经有一个 public 的 dhcp 了,那么您在建置这个给 domain-U 用的 DHCP 时, 特殊注意不要影响到其他的 dhcp 主机喔!鸟哥这里假定我的 domain-U 的 MAC 为 00:16:3E:00:00:11 , 以是有针对这个 MAC 来处置喔!
                1. 先反省你的 domain-0 能否有装置 dhcp 呢?
                [root@linux ~]# rpm -qa | grep dhcp
                dhcp-3.0.5-5.el5
                # 假如没有呈现上述的套件时,请自利用用 yum install dhcp 吧!
                
                2. 修正 DHCP 的设定档
                [root@linux ~]# vi /etc/dhcpd.conf
                ddns-update-style none;
                subnet 192.168.1.0 netmask 255.255.255.0 {
                     option routers                  192.168.1.254;
                     option subnet-mask              255.255.255.0;
                     option domain-name              "xen.test";
                     option domain-name-servers      168.95.1.1;
                     range 192.168.1.20 192.168.1.25;
                     default-lease-time 21600;
                     max-lease-time 43200;
                     host dic1 {
                          hardware ethernet 00:16:3E:00:00:11;
                          fixed-address 192.168.1.31;
                     }
                }
                # 鸟哥便是应用谁人 hardware ethernet 来控制某个网卡泉源的要求的啦!
                
                3. 启动与察看
                [root@linux ~]# /etc/init.d/dhcpd start
                [root@linux ~]# netstat -tlunp
                Proto Recv-Q Send-Q Local Address  Foreign Address State  PID/Program name
                udp        0      0 0.0.0.0:67     0.0.0.0:*              22285/dhcpd
                # 重点在谁人 port 67 啰~
                
                4. 防火墙的处置!
                [root@linux ~]# iptables -I INPUT -p udp --dport 67 -j ACCEPT
                [root@linux ~]# iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
                # 重点在开放用户端关于主机的连线啰!这个要设定好!
                
                云云一来 DHCP 主机就设定好了,复杂吧!再来开端其他的处置吧!


              55. 1. 树立 domain-U 所需求的假造磁碟
                异样的,应用 dd 这个指令来树立他吧!鸟哥照旧将我的映像档安排到 /disk2/xen 底下去。
                [root@linux ~]# dd if=/dev/zero of=/disk2/xen/centos5.office.img  \
                > bs=1M count=3072 oflag=direct
                [root@linux ~]# chcon -t xen_image_t /disk2/xen/centos5.office.img
                [root@linux ~]# ll -Z /disk2/xen/centos5.office.img
                -rw-r--r--  root root user_u:object_r:xen_image_t    centos5.office.img
                
                除了要树立这个大文件之外,不要遗忘谁人心爱又可骇的 SELinux 范例也需求同时变卦! 这点各人都很容易遗忘!包罗鸟哥在内~ @_@


              56. 2. 设定终端机介面
                这个举措在后面的大节中曾经讲过了,这里特殊再列出来,由于假如你没有作这个举措, 很能够在 domain-U 的中央会让您无法运用 console 的方法登入 domain-U ,届时您能够需求运用相似 ssh 的网络连线方法才干够登入 domain-U 哩! 并且,假如没有作这个举措,你的 domain-0 则会不断在 /var/log/messages 呈现一些错误~真实厌恶~ 实作的办法很复杂:
                [root@linux ~]# vi /etc/inittab
                # 约莫在第 51 行的中央参加底下特别字体的局部:
                5:2345:respawn:/sbin/mingetty tty5
                6:2345:respawn:/sbin/mingetty tty6
                co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav
                # 意思是运用 agetty 树立 xvc0
                
                [root@linux ~]# init q
                # init q 这个指令可以让 /etc/inittab  的设定立即失效而不需求重新开机!
                
                [root@linux ~]# ln -s /dev/console /dev/xvc0
                

              57. 3. 下载 CentOS5 用来装置 Xen 的中心与映像档
                CentOS5 官网提供的可装置 Xen 中心在底下的保持,分为 i386 与 x86_64 版本:
                鸟哥运用的是 i386 的版本。下载与处置的方法可以如许做:
                [root@linux ~]# cd /boot
                [root@linux boot]# wget  \
                > http://mirror.centos.org/centos/5/os/i386images/xen/vmlinuz
                [root@linux boot]# wget  \
                > http://mirror.centos.org/centos/5/os/i386images/xen/initrd.img
                # 先下载这两个文件上去,为了方便影象,以是鸟哥习气将档名修正一下:
                
                [root@linux boot]# mv vmlinuz centos5_xen_vmlinuz
                [root@linux boot]# mv initrd.img centos5_xen_initrd.img
                [root@linux boot]# restorecon /boot/*
                # 最初一个举措 (restorecon) 在处置 SELinux 的题目啦!
                
                以是我们曾经获得 CentOS5 官网所提供的中心与映像档了!预备处置设定档啰~


              58. 4. 撰写‘装置用’设定档
                接上去我们得先就可装置的中心来停止设定档的编写。我这里比拟风趣的中央在于几个局部:
                • 我具有 NFS 装置效劳器,该效劳器 IP 为 192.168.1.254,途径为 /disk1/yum/centos5
                • domain-U 在装置时的 MAC 假定为 00:16:3e:00:00:11,且透过 DHCP 获得 IP;
                • 运用 kickstart 方法来装置,而 kickstart 的设定档安排到装置效劳器的 /disk1/yum/centos5/ks.xen.centos5.txt 内
                什么是 kick start 呢?我们方才在前一大节运用 virt-install 装置时,不是有许多的选择画面吗? 所谓的 kick start 便是将一切的选择项目都写入某一个设定档,云云一来,就可以免去手动去挑选的困扰了。 因而,我们会有两个文件需求树立。起首,我们树立 Xen 的设定档,文件如下:
                [root@linux ~]# vi /etc/xen/centos5_xen_install
                kernel  = "/boot/centos5_xen_vmlinuz"
                ramdisk = "/boot/centos5_xen_initrd.img"
                extra   = "text ks=nfs:192.168.1.254:/disk1/yum/centos5/ks.xen.centos5.txt"
                name    = "centos5_xen_install"
                memory  = "128"
                disk    = [ 'file:/disk2/xen/centos5.office.img,xvda,w', ]
                vif     = [ 'mac=00:16:3e:00:00:11, bridge=xenbr0', ]
                vcpus   = 1
                on_reboot = 'destroy'
                on_crash  = 'destroy'
                # 下面比拟特殊的只要谁人 extra 罢了,谁人是中心的额定参数阐明!
                
                我们还得树立 kick start 的设定档内容。实在你的 CentOS 原本就有 kickstart 的设定档了, 概况请参考你本人的 /root/anaconda-ks.cfg 文件,您就知道啰!更细致的 kickstart 请先参考如下网页:
                鸟哥这里仅作个复杂的设定罢了:
                [root@linux ~]# vi /disk1/yum/centos5/ks.xen.centos5.txt
                # 1. 与装置有关的设定,尤其是 NFS 的设定最要紧!
                install
                nfs --server=192.168.1.254 --dir=/disk1/yum/centos5
                
                # 2. 语系的援助以及键盘对应表
                lang en_US.UTF-8
                langsupport --default en_US.UTF-8 zh_TW.BIG5 zh_TW.UTF-8 zh_HK.UTF-8 \
                zh_CN.GB18030 en_US.UTF-8
                keyboard us
                
                # 3. 网络设定,记着,要与 NFS 装置效劳器同网络才行!
                network --device eth0 --bootproto dhcp
                
                # 4. 暗码与防火墙另有 SELinux 与时区的相干设定
                rootpw --iscrypted $1$NGE.r9ik$D9iqc2bfdpi1DYvqC2CwP.
                firewall --enabled --port=
                authconfig --enableshadow --enablemd5
                selinux --enforcing
                timezone Asia/Taipei
                
                # 5. 开机办理顺序,留意谁人 driveorder 项目,我们的硬碟是假造的喔!
                bootloader --location=mbr --driveorder=xvda --append="console=xvc0"
                reboot
                
                # 6. 磁碟联系表的操纵以及装置的套件材料
                clearpart --all --initlabel --drives=xvda
                part /boot --fstype ext3 --size=100 --ondisk=xvda
                part / --fstype ext3 --size=2048 --ondisk=xvda --asprimary
                part swap --size=512 --ondisk=xvda
                %packages
                @core
                # 假如你已经装置过 Linux ,那么下面的选项对你来说,应该不难理解。
                # 比拟特别的是 rootpw 谁人项目,鸟哥是由 /etc/shadow 复制加密的暗码来的,
                # 云云则 root 的暗码也设定妥当,并且是加密过的材料。
                # 在本案例中的 root 暗码为 123456789 喔!
                
                [root@linux ~]# chcon -t public_content_t \
                > /disk1/yum/centos5/ks.xen.centos5.txt
                
                云云则将两个设定材料给他设定好了。接上去便是停止装置的流程喔~


              59. 5. 实践装置进程
                实践装置真是太复杂了!间接启动 Xen 即可啊!请下达:‘xm create -c centos5_xen_install’吧! 然后在呈现一小段工夫的 IP 探测、硬体探测、套件材料剖析等画面后,就会自动的进入实践装置套件的画面! 接上去我们啥事都不需求担忧,一切的装置进程 kickstart 零碎都市帮我们搞定的。 实践上,你要做的就只是...品茗看报纸吧!不外假如你的 domain-0 零碎十分的高效能, 诚实说,品茗的工夫真实是不敷用~ @_@,由于能够 3 分钟就装置终了了~ ^_^

                kickstart 便是这么好用!你可以将这一组设定放在你的装置效劳器下面,将来想要装置如出一辙的情况时, 间接在装置的进程载入这个文件即可,我们不需求还手动挑选有的没有的啦! ^_^


              60. 6. 修正成为可以正常开机的设定档
                在上述第四个步调时,我们所树立的 /etc/xen/centos5_xen_install 是专门用来装置用的设定档。 既然曾经装置妥当了,这个文件就不克不及持续的运用,不然每次都市反复的进入装置的画面, 会不断不时的重新装置....

                以是接上去我们得要修正一下设定档才行。设定档可以改成底下的容貌喔:
                [root@linux ~]# vi centos5_xen_run
                name    = "centos5_xen_run"
                memory  = "128"
                disk    = [ 'file:/disk2/xen/centos5.office.img,xvda,w', ]
                vif     = [ 'mac=00:16:3e:00:00:11, bridge=xenbr0', ]
                vcpus   = 1
                on_reboot = 'restart'
                on_crash  = 'restart'
                bootloader = "/usr/bin/pygrub"
                # 实在便是参加谁人 pygrub 的实行档罢了。该文件的作用便是
                # 作为一个开机载入器来载入 domain-U 开机所需运用的中心与假造磁碟。
                
                接上去假如想要运用方才完成的 domain-U 来登入时,请运用:‘ xm create -c centos5_xen_run ’来启动吧! 启动的画面如下所示,你会发明,怎样透过终端机可以跟在荧幕后面一个容貌!还能看到 grub 哩! 真是有够棒的!

                启动 domain-U 的画面
                图 3-26、启动 domain-U 的画面

                选择好你所需求的开机选项后,嘿嘿!就可以在 pietty 之类的情况完好的操纵你的 domain-U 了! 说真实的,用在讲授上,真实是很棒的一个好主见!

              61. 大标题的图示

                小标题的图示

                大标题的图示参考材料

                2007/10/20:颠末多日的奋战,终于将 Xen 的半假造化装置与操纵的办法写出来!全假造化的局部还在构想中~
                2007/10/24:透过网友 lvan 的报答,发明没有建置 /dev/xvc0 会有终端介面的题目,以是补上;
                2007/10/24:异样透过 lvan 兄的报答,可以运用 [ctrl]-] 来分开 domain-U 的终端介面!谢谢 lvan 兄!
                2008/09/09:感激讨论区网友donyingle提供的AMD的64位元CPU的相干资讯,终于有CPU的flags了!



                 
                     
                中国存储网 ChinaStor.com排版整理
                原文作者鸟哥,主页,更多Linux学习材料在线看:Linux零碎办理员手册 - Linux下令大全 - Linux挪用大全- Linux专栏 - 国产Linux