Add translated version of this chapter.

This commit is contained in:
Marc Fonvieille 2007-04-14 12:03:15 +00:00
parent 202ab52eb8
commit 27356cd780
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=30028
2 changed files with 570 additions and 0 deletions

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= virtualization/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

View file

@ -0,0 +1,555 @@
<!--
The FreeBSD Documentation Project
The FreeBSD French Documentation Project
$FreeBSD$
Original revision: 1.8
-->
<chapter id="virtualization">
<chapterinfo>
<authorgroup>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
<contrib>Contribution de </contrib>
</author>
</authorgroup>
<!-- Mar 2007 -->
</chapterinfo>
<title>Virtualisation</title>
&trans.a.fonvieille;
<sect1 id="virtualization-synopsis">
<title>Synopsis</title>
<para>Un logiciel de virtualisation permet l'ex&eacute;cution
simultan&eacute;e de plusieurs syst&egrave;mes d'exploitation
sur la m&ecirc;me machine. De tels logiciels pour PCs
impliquent l'utilisation d'un syst&egrave;me d'exploitation
h&ocirc;te qui ex&eacute;cute le logiciel de virtualisation et
qui supporte un certain nombre de syst&egrave;mes d'exploitation
invit&eacute;s.</para>
<para>Apr&egrave;s avoir lu ce chapitre, vous
conna&icirc;trez:</para>
<itemizedlist>
<listitem>
<para>La diff&eacute;rence entre un syst&egrave;me
d'exploitation h&ocirc;te et un syst&egrave;me d'exploitation
invit&eacute;.</para>
</listitem>
<listitem>
<para>Comment installer &os; sur &linux; avec
<application>&xen;</application>.</para>
</listitem>
<listitem>
<para>Comment installer &os; sur un ordinateur &apple;
&macintosh; &agrave; base &intel;.</para>
</listitem>
<listitem>
<para>Comment optimiser un syst&egrave;me &os; pour obtenir
les meilleures performances en virtualisation.</para>
</listitem>
</itemizedlist>
<para>Avant de lire ce chapitre, vous devrez</para>
<itemizedlist>
<listitem>
<para>Comprendre les fondements d'&unix; et de &os; (<xref
linkend="basics">).</para>
</listitem>
<listitem>
<para>Savoir comment installer &os; (<xref
linkend="install">).</para></listitem>
<listitem>
<para>Savoir comment configurer votre connexion au
r&eacute;seau (<xref linkend="advanced-networking">).</para>
</listitem>
<listitem>
<para>Savoir comment installer des logiciels tierce-partie
(<xref linkend="ports">).</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="virtualization-guest">
<title>&os; comme syst&egrave;me d'exploitation
invit&eacute;</title>
<sect2 id="virtualization-guest-parallels">
<title>Parallels sur &macos;</title>
<para><application>Parallels Desktop</application> pour &mac;
est un logiciel commercial pour les ordinateurs &apple; &mac;
&agrave; base &intel; tournant sous &macos; 10.4.6 our
versions sup&eacute;rieures. &os; est totalement
support&eacute; en tant que syst&egrave;me d'exploitation
invit&eacute;. Une fois que
<application>Parallels</application> a &eacute;t&eacute;
install&eacute; sur &macos; X, l'utilisateur doit configurer
une machine virtuelle et installer le syst&egrave;me
d'exploitation invit&eacute; qu'il d&eacute;sire.</para>
<sect3 id="virtualization-guest-parallels-install">
<title>Installer &os; sur Parallels/&macos; X</title>
<para>La premi&egrave;re &eacute;tape pour installer &os;
sur &macos; X/<application>Parallels</application> est de
cr&eacute;er une machine virtuelle pour l'installation de
&os;. S&eacute;lectionnez
<guimenuitem>FreeBSD</guimenuitem> comme
<guimenu>Syst&egrave;me d'exploitation
invit&eacute;</guimenu> quand on vous le demandera, et
choisissez une taille de disque dur et de m&eacute;moire
vive en fonction de l'utilisation que vous projetez pour
votre &os; virtuel. 4Go de disque et 512Mo de RAM
conviennent pour la plupart des utilisations de &os; sous
<application>Parallels</application>.</para>
<para>Une fois votre machine virtuelle cr&eacute;&eacute;e,
vous devrez y installer &os;. Le meilleur moyen est
d'utiliser un CDROM &os; officiel ou une image ISO
r&eacute;cup&eacute;r&eacute;e sur un site FTP officiel.
Quand vous avez l'image ISO ad&eacute;quate sur votre
syst&egrave;me de fichiers &mac; ou un CDROM dans le
lecteur de CD du &mac;, cliquez sur l'ic&ocirc;ne disque
situ&eacute;e dans le coin droit en bas de votre
fen&ecirc;tre <application>Parallels</application>. Une
fen&ecirc;tre s'ouvrira pour vous permettre d'associer le
lecteur de CDROM de votre machine virtuelle avec un
fichier ISO ou le v&eacute;ritable lecteur de CDROM de
votre ordinateur.</para>
<para>D&egrave;s que vous avez effectu&eacute; cette
association, red&eacute;marrez votre machine vituelle &os;
en cliquant sur l'ic&ocirc;ne de red&eacute;marrage.
<application>Parallels</application> red&eacute;marrera
avec un BIOS particulier qui v&eacute;rifiera si vous
disposez d'un CDROM tout comme le ferait un BIOS
classique. Dans notre cas il trouvera le disque
d'installation de &os; et lancera une installation normale
avec <application>sysinstall</application> comme
d&eacute;crit dans le <xref linkend="install">. Vous
pouvez installer X11 mais ne tentez pas de le configurer
pour le moment. Quand l'installation est termin&eacute;e,
red&eacute;marrez votre machine virtuelle &os;.</para>
</sect3>
<sect3 id="virtualization-guest-parallels-configure">
<title>Configurer &os; sur &macos; X/Parallels</title>
<para>Apr&egrave;s avoir install&eacute; avec succ&egrave;s
&os; sur &macos; X avec
<application>Parallels</application>, il y a un certain
nombre d'op&eacute;rations de configuration &agrave;
effectuer pour optimiser le syst&egrave;me pour une
utilisation en tant que syst&egrave;me virtuel.</para>
<procedure>
<step>
<title>Param&eacute;trer les variables du
chargeur</title>
<para>L'&eacute;tape la plus importante est la
diminution du param&egrave;tre
<option>kern.hz</option> afin de r&eacute;duire
l'utilisation du CPU de &os; sous l'environnement
<application>Parallels</application>. Pour cela, il
faut ajouter la ligne suivante au fichier
<filename>/boot/loader.conf</filename>:</para>
<programlisting>kern.hz=100</programlisting>
<para>Sans ce param&eacute;trage, un syst&egrave;me
d'exploitation invit&eacute; &os; inactif sous
<application>Parallels</application> utilisera environ
15% du CPU sur un &imac; &agrave; mono-processeur.
Apr&egrave;s ce changement l'utilisation du processeur
sera plus proche d'un petit 5%.</para>
</step>
<step>
<title>Cr&eacute;er un nouveau fichier de configuration
du noyau</title>
<para>Vous pouvez retirer tous les pilotes de
p&eacute;riph&eacute;riques SCSI, FireWire et USB.
<application>Parallels</application> fournit une carte
r&eacute;seau virtuelle utilisant le pilote
&man.ed.4;, aussi tous les autres pilotes
r&eacute;seau except&eacute;s &man.ed.4; et
&man.miibus.4; peuvent &ecirc;tre retir&eacute;s du
noyau.</para>
</step>
<step>
<title>Configuration du r&eacute;seau</title>
<para>La configuration r&eacute;seau la plus simple
utilise DHCP pour connecter votre machine virtuelle
sur le m&ecirc;me r&eacute;seau local que votre
machine &mac; h&ocirc;te. Cette configuration se fait
en ajoutant la ligne
<literal>ifconfig_ed0="DHCP"</literal> au fichier
<filename>/etc/rc.conf</filename>. Des configurations
r&eacute;seau plus avanc&eacute;es sont
d&eacute;crites dans le <xref
linkend="advanced-networking">.</para>
</step>
</procedure>
</sect3>
</sect2>
<sect2 id="virtualization-guest-xen">
<sect2info>
<authorgroup>
<author>
<firstname>Fukang</firstname>
<surname>Chen (Loader)</surname>
<contrib>Contribution de </contrib>
</author>
</authorgroup>
<!-- Mar/Apr 2007 -->
</sect2info>
<title>&os; avec &xen; sur Linux</title>
<para>L'hyperviseur <application>&xen;</application> est un
logiciel libre de para-virtualisation qui est
support&eacute; par l'entreprise commerciale XenSource. Les
syst&egrave;mes d'exploitation invit&eacute;s sont
appel&eacute;s domaines domU, et le syst&egrave;me
d'exploitation h&ocirc;te est appel&eacute; dom0. La
premi&egrave;re &eacute;tape pour faire tourner un &os;
virtuel sous &linux; est d'installer
<application>&xen;</application> pour le domaine dom0
&linux;. Le syst&egrave;me d'exploitation h&ocirc;te sera
une distribution &linux; Slackware.</para>
<sect3 id="xen-slackware-dom0">
<title>Configuration de &xen; 3 sur un dom0 &linux;</title>
<procedure>
<step>
<title>T&eacute;l&eacute;charger &xen; 3.0 aupr&egrave;s
de XenSource</title>
<para>R&eacute;cup&eacute;rez l'archive <ulink
url="http://bits.xensource.com/oss-xen/release/3.0.4-1/src.tgz/xen-3.0.4_1-src.tgz">xen-3.0.4_1-src.tgz</ulink>
aupr&egrave;s de <ulink
url="http://www.xensource.com/"></ulink>.</para>
</step>
<step>
<title>Extraire l'archive</title>
<screen>&prompt.root; <userinput>cd xen-3.0.4_1-src</userinput>
&prompt.root; <userinput>KERNELS="linux-2.6-xen0 linux-2.6-xenU" make world</userinput>
&prompt.root; <userinput>make install</userinput></screen>
<note>
<para>Pour recompiler le noyau pour le domaine
dom0:</para>
<screen>&prompt.root; <userinput>cd xen-3.0.4_1-src/linux-2.6.16.33-xen0</userinput>
&prompt.root; <userinput>make menuconfig</userinput>
&prompt.root; <userinput>make</userinput>
&prompt.root; <userinput>make install</userinput></screen>
<para>D'anciennes versions de
<application>&xen;</application> peuvent
n&eacute;cessiter l'utilisation de la commande
<command>make ARCH=xen menuconfig</command></para>
</note>
</step>
<step>
<title>Ajouter une entr&eacute;e au menu de Grub
(menu.lst)</title>
<para>Editez <filename>/boot/grub/menu.lst</filename> et
ajoutez les lignes suivantes:</para>
<programlisting>title Xen-3.0.4
root (hd0,0)
kernel /boot/xen-3.0.4-1.gz dom0_mem=262144
module /boot/vmlinuz-2.6.16.33-xen0 root=/dev/hda1 ro</programlisting>
</step>
<step>
<title>Red&eacute;marrer votre ordinateur sous
&xen;</title>
<para>Tout d'abord, &eacute;ditez
<filename>/etc/xen/xend-config.sxp</filename>, et
ajoutez la ligne suivante:</para>
<programlisting>(network-script 'network-bridge netdev=eth0')</programlisting>
<para>Nous pouvons maintenant lancer
<application>&xen;</application>:</para>
<screen>&prompt.root; <userinput>/etc/init.d/xend start</userinput>
&prompt.root; <userinput>/etc/init.d/xendomains start</userinput></screen>
<para>Notre domaine dom0 fonctionne:</para>
<screen>&prompt.root; <userinput>xm list</userinput>
Name ID Mem VCPUs State Time(s)
Domain-0 0 256 1 r----- 54452.9</screen>
</step>
</procedure>
</sect3>
<sect3>
<title>Domaine domU &os; 7-CURRENT</title>
<para>T&eacute;l&eacute;chargez le noyau pour domU &os; pour
<application>&xen; 3.0</application> et l'image disque
aupr&egrave;s de <ulink
url="http://www.fsmware.com/">http://www.fsmware.com/</ulink></para>
<itemizedlist>
<listitem>
<para><ulink url="http://www.fsmware.com/xenofreebsd/7.0/download/kernel-current">kernel-current</ulink></para>
</listitem>
<listitem>
<para><ulink url="http://www.fsmware.com/xenofreebsd/7.0/download/mdroot-7.0.bz2">mdroot-7.0.bz2</ulink></para>
</listitem>
<listitem>
<para><ulink url="http://www.fsmware.com/xenofreebsd/7.0/download/config/xmexample1.bsd">xmexample1.bsd</ulink></para>
</listitem>
</itemizedlist>
<para>Placez le fichier de configuration
<filename>xmexample1.bsd</filename> dans le
r&eacute;pertoire <filename
class="directory">/etc/xen/</filename> et modifiez les
entr&eacute;es relatives &agrave; l'emplacement du noyau
et de l'image disque. Cela devrait donner quelque chose
comme:</para>
<programlisting>kernel = "/opt/kernel-current"
memory = 256
name = "freebsd"
vif = [ '' ]
disk = [ 'file:/opt/mdroot-7.0,hda1,w' ]
#on_crash = 'preserve'
extra = "boot_verbose"
extra += ",boot_single"
extra += ",kern.hz=100"
extra += ",vfs.root.mountfrom=ufs:/dev/xbd769a"</programlisting>
<para>Le fichier <filename>mdroot-7.0.bz2</filename> doit
&ecirc;tre d&eacute;compress&eacute;.</para>
<para>Ensuite, la section __xen_guest du fichier
<filename>kernel-current</filename> doit &ecirc;tre
modifi&eacute;e pour y ajouter le param&egrave;tre
VIRT_BASE dont a besoin <application>&xen;
3.0.3</application>:</para>
<screen>&prompt.root; <userinput>objcopy kernel-current -R __xen_guest</userinput>
&prompt.root; <userinput>perl -e 'print "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB,VIRT_BASE=0xC0000000\x00"' &gt; tmp</userinput>
&prompt.root; <userinput>objcopy kernel-current --add-section __xen_guest=tmp</userinput></screen>
<screen>&prompt.root; <userinput>objdump -j __xen_guest -s kernel-current</userinput>
kernel-current: file format elf32-i386
Contents of section __xen_guest:
0000 4c4f4144 45523d67 656e6572 69632c47 LOADER=generic,G
0010 55455354 5f4f533d 66726565 6273642c UEST_OS=freebsd,
0020 47554553 545f5645 523d372e 302c5845 GUEST_VER=7.0,XE
0030 4e5f5645 523d7865 6e2d332e 302c4253 N_VER=xen-3.0,BS
0040 445f5359 4d544142 2c564952 545f4241 D_SYMTAB,VIRT_BA
0050 53453d30 78433030 30303030 3000 SE=0xC0000000. </screen>
<para>Nous sommes maintenant pr&ecirc;t &agrave;
cr&eacute;er et lancer notre domU:</para>
<screen>&prompt.root; <userinput>xm create /etc/xen/xmexample1.bsd -c</userinput>
Using config file "/etc/xen/xmexample1.bsd".
Started domain freebsd
WARNING: loader(8) metadata is missing!
Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006
kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF
WARNING: DIAGNOSTIC option enabled, expect reduced performance.
Xen reported: 1796.927 MHz processor.
Timecounter "ixen" frequency 1796927000 Hz quality 0
CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz (1796.93-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf29 Stepping = 9
Features=0xbfebfbff&lt;FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,
DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE&gt;
Features2=0x4400&lt;CNTX-ID,&lt;b14&gt;&gt;
real memory = 265244672 (252 MB)
avail memory = 255963136 (244 MB)
xc0: &lt;Xen Console&gt; on motherboard
cpu0 on motherboard
Timecounters tick every 10.000 msec
[XEN] Initialising virtual ethernet driver.
xn0: Ethernet address: 00:16:3e:6b:de:3a
[XEN]
Trying to mount root from ufs:/dev/xbd769a
WARNING: / was not properly dismounted
Loading configuration files.
No suitable dump device was found.
Entropy harvesting: interrupts ethernet point_to_point kickstart.
Starting file system checks:
/dev/xbd769a: 18859 files, 140370 used, 113473 free (10769 frags, 12838 blocks, 4.2% fragmentation)
Setting hostname: demo.freebsd.org.
lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000
Additional routing options:.
Mounting NFS file systems:.
Starting syslogd.
/etc/rc: WARNING: Dump device does not exist. Savecore not run.
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
Starting usbd.
usb: Kernel module not available: No such file or directory
Starting local daemons:.
Updating motd.
Starting sshd.
Initial i386 initialization:.
Additional ABI support: linux.
Starting cron.
Local package initialization:.
Additional TCP options:.
Starting background file system checks in 60 seconds.
Sun Apr 1 02:11:43 UTC 2007
FreeBSD/i386 (demo.freebsd.org) (xc0)
login: </screen>
<para>Le domaine domU devrait ex&eacute;cuter le noyau
&os;&nbsp;7.0-CURRENT:</para>
<screen>&prompt.root; <userinput>uname -a</userinput>
FreeBSD demo.freebsd.org 7.0-CURRENT FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006
kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF i386</screen>
<para>Le r&eacute;seau peut maintenant &ecirc;tre
configur&eacute; sur le domaine domU. Le domaine domU
&os; utilisera une interface sp&eacute;cifique
appel&eacute;e <devicename>xn0</devicename>:</para>
<screen>&prompt.root; <userinput>ifconfig xn0 10.10.10.200 netmask 255.0.0.0</userinput>
&prompt.root; <userinput>ifconfig</userinput>
xn0: flags=843&lt;UP,BROADCAST,RUNNING,SIMPLEX&gt; mtu 1500
inet 10.10.10.200 netmask 0xff000000 broadcast 10.255.255.255
ether 00:16:3e:6b:de:3a
lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000 </screen>
<para>Sur le domaine dom0 Slackware, des interfaces
r&eacute;seaux relatives &agrave;
<application>&xen;</application> devraient
appara&icirc;tre:</para>
<screen>&prompt.root; <userinput>ifconfig</userinput>
eth0 Link encap:Ethernet HWaddr 00:07:E9:A0:02:C2
inet addr:10.10.10.130 Bcast:0.0.0.0 Mask:255.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:815 errors:0 dropped:0 overruns:0 frame:0
TX packets:1400 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:204857 (200.0 KiB) TX bytes:129915 (126.8 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:99 errors:0 dropped:0 overruns:0 frame:0
TX packets:99 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9744 (9.5 KiB) TX bytes:9744 (9.5 KiB)
peth0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:1853349 errors:0 dropped:0 overruns:0 frame:0
TX packets:952923 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2432115831 (2.2 GiB) TX bytes:86528526 (82.5 MiB)
Base address:0xc000 Memory:ef020000-ef040000
vif0.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:1400 errors:0 dropped:0 overruns:0 frame:0
TX packets:815 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:129915 (126.8 KiB) TX bytes:204857 (200.0 KiB)
vif1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:157 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:140 (140.0 b) TX bytes:158 (158.0 b)
xenbr1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:112 (112.0 b) TX bytes:0 (0.0 b)</screen>
<screen>&prompt.root; <userinput>brctl show</userinput>
bridge name bridge id STP enabled interfaces
xenbr1 8000.feffffffffff no vif0.1
peth0
vif1.0</screen>
</sect3>
</sect2>
<sect2 id="virtualization-guest-vmware">
<title>VMware sur &windows;/&mac;/&linux;</title>
<para>Cette section n'est pas encore &eacute;crite.</para>
</sect2>
</sect1>
<sect1 id="virtualization-host">
<title>&os; comme syst&egrave;me d'exploitation h&ocirc;te</title>
<para>Actuellement, &os; en tant que syst&egrave;me d'exploitation
h&ocirc;te n'est officiellement support&eacute; par aucun
logiciel de virtualisation, de nombreuses personnes utilisent
d'anciennes versions de <application>VMware</application> pour
cela. Des efforts sont actuellement d&eacute;ploy&eacute;s pour
faire fonctionner <application>&xen;</application> en tant
qu'environnement h&ocirc;te sur &os;.</para>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->