2856
2857
"connect via VNC to complete the installation."
2859
#: serverguide/C/virtualization.xml:160(para)
2860
#: serverguide/C/virtualization.xml:190(para)
2861
2862
"<emphasis>--noautoconsole:</emphasis> will not automatically connect to the "
2862
2863
"virtual machine's console."
2865
#: serverguide/C/virtualization.xml:165(para)
2866
#: serverguide/C/virtualization.xml:195(para)
2866
2867
msgid "<emphasis>-v:</emphasis> creates a fully virtualized guest."
2869
#: serverguide/C/virtualization.xml:170(para)
2870
#: serverguide/C/virtualization.xml:200(para)
2871
2872
"After launching <application>virt-install</application> you can connect to "
2872
2873
"the virtual machine's console either locally using a GUI (if your server has "
2873
2874
"a GUI), or via a remote VNC client from a GUI based computer."
2876
#: serverguide/C/virtualization.xml:176(title)
2877
#: serverguide/C/virtualization.xml:207(title)
2877
2878
msgid "virt-clone"
2880
#: serverguide/C/virtualization.xml:177(para)
2881
#: serverguide/C/virtualization.xml:209(para)
2882
2883
"The <application>virt-clone</application> application can be used to copy "
2883
2884
"one virtual machine to another. For example:"
2886
#: serverguide/C/virtualization.xml:181(command)
2887
#: serverguide/C/virtualization.xml:213(command)
2888
2889
"sudo virt-clone -o web_devel -n database_devel -f "
2889
2890
"/path/to/database_devel.img \\ --connect=qemu:///system"
2892
#: serverguide/C/virtualization.xml:186(para)
2893
#: serverguide/C/virtualization.xml:219(para)
2893
2894
msgid "<emphasis>-o:</emphasis> original virtual machine."
2896
#: serverguide/C/virtualization.xml:191(para)
2897
#: serverguide/C/virtualization.xml:223(para)
2897
2898
msgid "<emphasis>-n:</emphasis> name of the new virtual machine."
2900
#: serverguide/C/virtualization.xml:196(para)
2901
#: serverguide/C/virtualization.xml:228(para)
2902
2903
"<emphasis>-f:</emphasis> path to the file, logical volume, or partition to "
2903
2904
"be used by the new virtual machine."
2906
#: serverguide/C/virtualization.xml:201(para)
2907
#: serverguide/C/virtualization.xml:233(para)
2908
2909
"<emphasis>--connect:</emphasis> specifies which hypervisor to connect to."
2911
#: serverguide/C/virtualization.xml:206(para)
2912
#: serverguide/C/virtualization.xml:238(para)
2913
2914
"Also, use <emphasis>-d</emphasis> or <emphasis>--debug</emphasis> option to "
2914
2915
"help troubleshoot problems with <application>virt-clone</application>."
2917
#: serverguide/C/virtualization.xml:211(para)
2918
#: serverguide/C/virtualization.xml:243(para)
2919
2920
"Replace <emphasis>web_devel</emphasis> and "
2920
2921
"<emphasis>database_devel</emphasis> with appropriate virtual machine names."
2923
#: serverguide/C/virtualization.xml:217(title)
2924
#: serverguide/C/virtualization.xml:250(title)
2924
2925
msgid "Virtual Machine Management"
2927
#: serverguide/C/virtualization.xml:219(title)
2928
#: serverguide/C/virtualization.xml:253(title)
2931
#: serverguide/C/virtualization.xml:220(para)
2932
#: serverguide/C/virtualization.xml:255(para)
2933
2934
"There are several utilities available to manage virtual machines and "
2934
2935
"<application>libvirt</application>. The <application>virsh</application> "
2935
2936
"utility can be used from the command line. Some examples:"
2938
#: serverguide/C/virtualization.xml:226(para)
2939
#: serverguide/C/virtualization.xml:262(para)
2939
2940
msgid "To list running virtual machines:"
2942
#: serverguide/C/virtualization.xml:230(command)
2943
#: serverguide/C/virtualization.xml:265(command)
2943
2944
msgid "virsh -c qemu:///system list"
2946
#: serverguide/C/virtualization.xml:234(para)
2947
#: serverguide/C/virtualization.xml:270(para)
2947
2948
msgid "To start a virtual machine:"
2950
#: serverguide/C/virtualization.xml:238(command)
2951
#: serverguide/C/virtualization.xml:273(command)
2951
2952
msgid "virsh -c qemu:///system start web_devel"
2954
#: serverguide/C/virtualization.xml:242(para)
2955
#: serverguide/C/virtualization.xml:278(para)
2955
2956
msgid "Similarly, to start a virtual machine at boot:"
2958
#: serverguide/C/virtualization.xml:246(command)
2959
#: serverguide/C/virtualization.xml:281(command)
2959
2960
msgid "virsh -c qemu:///system autostart web_devel"
2962
#: serverguide/C/virtualization.xml:250(para)
2963
#: serverguide/C/virtualization.xml:286(para)
2963
2964
msgid "Reboot a virtual machine with:"
2966
#: serverguide/C/virtualization.xml:254(command)
2967
#: serverguide/C/virtualization.xml:289(command)
2967
2968
msgid "virsh -c qemu:///system reboot web_devel"
2970
#: serverguide/C/virtualization.xml:258(para)
2971
#: serverguide/C/virtualization.xml:294(para)
2972
2973
"The <emphasis>state</emphasis> of virtual machines can be saved to a file in "
2973
2974
"order to be restored later. The following will save the virtual machine "
2974
2975
"state into a file named according to the date:"
2977
#: serverguide/C/virtualization.xml:263(command)
2978
#: serverguide/C/virtualization.xml:300(command)
2978
2979
msgid "virsh -c qemu:///system save web_devel web_devel-022708.state"
2981
#: serverguide/C/virtualization.xml:265(para)
2982
#: serverguide/C/virtualization.xml:303(para)
2982
2983
msgid "Once saved the virtual machine will no longer be running."
2985
#: serverguide/C/virtualization.xml:270(para)
2986
#: serverguide/C/virtualization.xml:308(para)
2986
2987
msgid "A saved virtual machine can be restored using:"
2989
#: serverguide/C/virtualization.xml:274(command)
2990
#: serverguide/C/virtualization.xml:311(command)
2990
2991
msgid "virsh -c qemu:///system restore web_devel-022708.state"
2993
#: serverguide/C/virtualization.xml:278(para)
2994
#: serverguide/C/virtualization.xml:316(para)
2994
2995
msgid "To shutdown a virtual machine do:"
2997
#: serverguide/C/virtualization.xml:282(command)
2998
#: serverguide/C/virtualization.xml:319(command)
2998
2999
msgid "virsh -c qemu:///system shutdown web_devel"
3001
#: serverguide/C/virtualization.xml:286(para)
3002
#: serverguide/C/virtualization.xml:324(para)
3002
3003
msgid "A CDROM device can be mounted in a virtual machine by entering:"
3005
#: serverguide/C/virtualization.xml:290(command)
3006
#: serverguide/C/virtualization.xml:328(command)
3006
3007
msgid "virsh -c qemu:///system attach-disk web_devel /dev/cdrom /media/cdrom"
3009
#: serverguide/C/virtualization.xml:295(para)
3010
#: serverguide/C/virtualization.xml:334(para)
3011
3012
"In the above examples replace <emphasis>web_devel</emphasis> with the "
3012
3013
"appropriate virtual machine name, and <filename>web_devel-"
3013
3014
"022708.state</filename> with a descriptive file name."
3016
#: serverguide/C/virtualization.xml:302(title)
3017
#: serverguide/C/virtualization.xml:342(title)
3017
3018
msgid "Virtual Machine Manager"
3020
#: serverguide/C/virtualization.xml:303(para)
3021
#: serverguide/C/virtualization.xml:344(para)
3022
3023
"The <application>virt-manager</application> package contains a graphical "
3023
3024
"utility to manage local and remote virtual machines. To install virt-manager "
3027
#: serverguide/C/virtualization.xml:308(command)
3028
#: serverguide/C/virtualization.xml:349(command)
3028
3029
msgid "sudo apt-get install virt-manager"
3031
#: serverguide/C/virtualization.xml:310(para)
3032
#: serverguide/C/virtualization.xml:352(para)
3033
3034
"Since <application>virt-manager</application> requires a Graphical User "
3034
3035
"Interface (GUI) environment it is recommended to be installed on a "
3076
#: serverguide/C/virtualization.xml:340(para)
3077
#: serverguide/C/virtualization.xml:391(para)
3078
3079
"To install <application>virt-viewer</application> from a terminal enter:"
3081
#: serverguide/C/virtualization.xml:344(command)
3082
#: serverguide/C/virtualization.xml:395(command)
3082
3083
msgid "sudo apt-get install virt-viewer"
3085
#: serverguide/C/virtualization.xml:346(para)
3086
#: serverguide/C/virtualization.xml:398(para)
3087
3088
"Once a virtual machine is installed and running you can connect to the "
3088
3089
"virtual machine's console by using:"
3091
#: serverguide/C/virtualization.xml:350(command)
3092
#: serverguide/C/virtualization.xml:402(command)
3092
3093
msgid "virt-viewer -c qemu:///system web_devel"
3095
#: serverguide/C/virtualization.xml:352(para)
3096
#: serverguide/C/virtualization.xml:405(para)
3097
3098
"Similar to <application>virt-manager</application>, <application>virt-"
3098
3099
"viewer</application> can connect to a remote host using "
3099
3100
"<emphasis>SSH</emphasis> with key authentication, as well:"
3102
#: serverguide/C/virtualization.xml:357(command)
3103
#: serverguide/C/virtualization.xml:410(command)
3103
3104
msgid "virt-viewer -c qemu+ssh://virtnode1.mydomain.com/system web_devel"
3106
#: serverguide/C/virtualization.xml:359(para)
3107
#: serverguide/C/virtualization.xml:413(para)
3108
3109
"Be sure to replace <emphasis role=\"italic\">web_devel</emphasis> with the "
3109
3110
"appropriate virtual machine name."
3112
#: serverguide/C/virtualization.xml:362(para)
3113
#: serverguide/C/virtualization.xml:416(para)
3114
3115
"If configured to use a <emphasis>bridged</emphasis> network interface you "
3115
3116
"can also setup <application>SSH</application> access to the virtual machine. "
3116
"See <xref linkend=\"openssh-server\"/> and <xref linkend=\"bridging\"/> for "
3117
"See <xref linkend=\"openssh-server\"/> and <xref linkend=\"cloud-"
3118
"bridging\"/> for more details."
3120
#: serverguide/C/virtualization.xml:368(title) serverguide/C/virtualization.xml:1069(title) serverguide/C/virtualization.xml:1453(title) serverguide/C/virtualization.xml:3481(title) serverguide/C/samba.xml:248(title) serverguide/C/samba.xml:347(title) serverguide/C/samba.xml:704(title) serverguide/C/samba.xml:1100(title) serverguide/C/samba.xml:1299(title) serverguide/C/reporting-bugs.xml:302(title) serverguide/C/remote-administration.xml:414(title) serverguide/C/network-config.xml:588(title) serverguide/C/network-config.xml:843(title) serverguide/C/network-auth.xml:2112(title) serverguide/C/network-auth.xml:2646(title) serverguide/C/network-auth.xml:3362(title) serverguide/C/network-auth.xml:3915(title) serverguide/C/installation.xml:875(title) serverguide/C/installation.xml:1161(title) serverguide/C/installation.xml:1366(title) serverguide/C/databases.xml:271(title) serverguide/C/databases.xml:426(title) serverguide/C/backups.xml:864(title)
3121
#: serverguide/C/virtualization.xml:423(title) serverguide/C/virtualization.xml:1335(title) serverguide/C/virtualization.xml:1754(title) serverguide/C/virtualization.xml:3735(title) serverguide/C/samba.xml:248(title) serverguide/C/samba.xml:347(title) serverguide/C/samba.xml:704(title) serverguide/C/samba.xml:1100(title) serverguide/C/samba.xml:1299(title) serverguide/C/reporting-bugs.xml:302(title) serverguide/C/remote-administration.xml:414(title) serverguide/C/network-config.xml:588(title) serverguide/C/network-config.xml:843(title) serverguide/C/network-auth.xml:2112(title) serverguide/C/network-auth.xml:2646(title) serverguide/C/network-auth.xml:3362(title) serverguide/C/network-auth.xml:3915(title) serverguide/C/installation.xml:875(title) serverguide/C/installation.xml:1161(title) serverguide/C/installation.xml:1366(title) serverguide/C/databases.xml:271(title) serverguide/C/databases.xml:426(title) serverguide/C/backups.xml:864(title)
3121
3122
msgid "Resources"
3124
#: serverguide/C/virtualization.xml:371(para)
3125
#: serverguide/C/virtualization.xml:427(para)
3126
3127
"See the <ulink url=\"http://www.linux-kvm.org/\">KVM</ulink> home page for "
3127
3128
"more details."
3130
#: serverguide/C/virtualization.xml:376(para)
3131
#: serverguide/C/virtualization.xml:432(para)
3132
3133
"For more information on <application>libvirt</application> see the <ulink "
3133
3134
"url=\"http://libvirt.org/\">libvirt home page</ulink>"
3136
#: serverguide/C/virtualization.xml:381(para)
3137
#: serverguide/C/virtualization.xml:438(para)
3138
3139
"The <ulink url=\"http://virt-manager.et.redhat.com/\">Virtual Machine "
3139
3140
"Manager</ulink> site has more information on <application>virt-"
3140
3141
"manager</application> development."
3143
#: serverguide/C/virtualization.xml:387(para)
3144
#: serverguide/C/virtualization.xml:444(para)
3145
3146
"Also, stop by the <emphasis>#ubuntu-virt</emphasis> IRC channel on <ulink "
3146
3147
"url=\"http://freenode.net/\">freenode</ulink> to discuss virtualization "
3147
3148
"technology in Ubuntu."
3150
#: serverguide/C/virtualization.xml:393(para)
3151
#: serverguide/C/virtualization.xml:450(para)
3152
3153
"Another good resource is the <ulink "
3153
3154
"url=\"https://help.ubuntu.com/community/KVM\">Ubuntu Wiki KVM</ulink> page."
3156
#: serverguide/C/virtualization.xml:398(para)
3157
#: serverguide/C/virtualization.xml:456(para)
3158
3159
"For information on Xen, including using Xen with libvirt, please see the "
3159
3160
"<ulink url=\"https://help.ubuntu.com/community/Xen\">Ubuntu Wiki Xen</ulink> "
3163
#: serverguide/C/virtualization.xml:406(title)
3164
msgid "JeOS and vmbuilder"
3164
#: serverguide/C/virtualization.xml:466(title)
3165
msgid "Cloud images and vmbuilder"
3167
#: serverguide/C/virtualization.xml:409(title) serverguide/C/security.xml:361(title) serverguide/C/samba.xml:23(title) serverguide/C/remote-administration.xml:18(title) serverguide/C/package-management.xml:18(title) serverguide/C/introduction.xml:11(title) serverguide/C/installation.xml:1195(title)
3168
#: serverguide/C/virtualization.xml:469(title) serverguide/C/security.xml:361(title) serverguide/C/samba.xml:23(title) serverguide/C/remote-administration.xml:18(title) serverguide/C/package-management.xml:18(title) serverguide/C/introduction.xml:11(title) serverguide/C/installation.xml:1195(title)
3168
3169
msgid "Introduction"
3171
#: serverguide/C/virtualization.xml:412(title)
3172
msgid "What is JeOS"
3175
#: serverguide/C/virtualization.xml:414(para)
3177
"Ubuntu <emphasis>JeOS</emphasis> (pronounced \"Juice\") is an efficient "
3178
"variant of the Ubuntu Server operating system, configured specifically for "
3179
"virtual appliances. No longer available as a CD-ROM ISO for download, but "
3180
"only as an option either:"
3183
#: serverguide/C/virtualization.xml:421(para)
3185
"While installing from the Server Edition ISO (pressing "
3186
"<emphasis>F4</emphasis> on the first screen will allow you to pick \"Minimal "
3187
"installation\", which is the package selection equivalent to JeOS)."
3190
#: serverguide/C/virtualization.xml:427(para)
3191
msgid "Or to be built using Ubuntu's vmbuilder, which is described here."
3194
#: serverguide/C/virtualization.xml:433(para)
3196
"JeOS is a specialized installation of Ubuntu Server Edition with a tuned "
3197
"kernel that only contains the base elements needed to run within a "
3198
"virtualized environment."
3201
#: serverguide/C/virtualization.xml:438(para)
3203
"Ubuntu JeOS has been tuned to take advantage of key performance technologies "
3204
"in the latest virtualization products from VMware. This combination of "
3205
"reduced size and optimized performance ensures that Ubuntu JeOS Edition "
3206
"delivers a highly efficient use of server resources in large virtual "
3210
#: serverguide/C/virtualization.xml:444(para)
3212
"Without unnecessary drivers, and only the minimal required packages, ISVs "
3213
"can configure their supporting OS exactly as they require. They have the "
3214
"peace of mind that updates, whether for security or enhancement reasons, "
3215
"will be limited to the bare minimum of what is required in their specific "
3216
"environment. In turn, users deploying virtual appliances built on top of "
3217
"JeOS will have to go through fewer updates and therefore less maintenance "
3218
"than they would have had to with a standard full installation of a server."
3221
#: serverguide/C/virtualization.xml:453(title)
3172
#: serverguide/C/virtualization.xml:471(para)
3174
"With Ubuntu being on of the most used operating systems on most of the cloud "
3175
"platforms, the availability of stable and secure cloud images has become "
3176
"very important. Starting with 12.04 the utilization of cloud images outside "
3177
"of a cloud infrastructure has been improved. It is now possible to use those "
3178
"images to create a virtual machine without the need of a complete "
3182
#: serverguide/C/virtualization.xml:480(title)
3183
msgid "Creating virtual machines using cloud images"
3186
#: serverguide/C/virtualization.xml:482(para)
3188
"Cloud images for the supported versions of Ubuntu are available at the "
3192
#: serverguide/C/virtualization.xml:489(para)
3193
msgid "http://cloud-images.ubuntu.com/"
3196
#: serverguide/C/virtualization.xml:495(para)
3198
"When used in conjunction with a tool called <application> cloud-"
3199
"localds</application> which is part of the <application> cloud-"
3200
"utils</application> package starting with Ubuntu 12.10 those images can be "
3201
"used to create a ready to use virtual machine. The following instructions "
3202
"should give you access to a working virtual machine."
3205
#: serverguide/C/virtualization.xml:503(title)
3206
msgid "Required packages"
3209
#: serverguide/C/virtualization.xml:505(para)
3211
"The following packages will be required in order to use cloud images as "
3212
"virtual machines :"
3215
#: serverguide/C/virtualization.xml:512(para)
3219
#: serverguide/C/virtualization.xml:516(para)
3223
#: serverguide/C/virtualization.xml:520(para)
3227
#: serverguide/C/virtualization.xml:526(title)
3228
msgid "Get the Ubuntu Cloud Image"
3231
#: serverguide/C/virtualization.xml:528(para)
3233
"The Ubuntu Cloud Image can be downloaded from the Internet by various means. "
3234
"This example shows how to easily download the 12.04 Precise image using "
3235
"<emphasis role=\"bold\">wget</emphasis> :"
3238
#: serverguide/C/virtualization.xml:534(programlisting)
3241
"wget -O my_new_vm.img.dist http://cloud-images.ubuntu.com/server/releases\\\n"
3242
"/12.04/release/ubuntu-12.04-server-cloudimg-amd64-disk1.img"
3245
#: serverguide/C/virtualization.xml:541(title)
3246
msgid "Create the user-data file"
3249
#: serverguide/C/virtualization.xml:543(para)
3251
"The user-data file contains configuration elements that will be provided to "
3252
"the cloud image and applied at the first boot of the virtual machine using "
3253
"<application>cloud-init</application>. The first three elements, <emphasis "
3254
"role=\"bold\">password</emphasis>, <emphasis "
3255
"role=\"bold\">chpasswd</emphasis> and <emphasis "
3256
"role=\"bold\">ssh_pwauth</emphasis> are mandatory. You should add an ssh key "
3257
"that you have created beforehand using <application>ssh-keygen</application> "
3258
"otherwise you will not be able to connect remotely to your virtual machine."
3261
#: serverguide/C/virtualization.xml:552(para)
3263
"Use the following command to create the my-user-data file that will contain "
3264
"your user specific data :"
3267
#: serverguide/C/virtualization.xml:555(programlisting)
3270
"$ cat > my-user-data <<EOF\n"
3272
"password: passw0rd\n"
3273
"chpasswd: { expire: False }\n"
3274
"ssh_pwauth: True\n"
3275
"ssh_authorized_keys:\n"
3276
" - ssh-rsa {insert your own ssh public key here}\n"
3280
#: serverguide/C/virtualization.xml:566(title)
3281
msgid "Convert the cloud-image to Qemu format"
3284
#: serverguide/C/virtualization.xml:568(para)
3285
msgid "The two qemu-img command is not strictly necessary :"
3288
#: serverguide/C/virtualization.xml:574(para)
3290
"The 'convert' converts the compressed qcow2 disk image as downloaded to an "
3291
"uncompressed version. If you don't do this the image will still boot, but "
3292
"reads will undergo decompression. This will improve the performance of your "
3296
#: serverguide/C/virtualization.xml:581(para)
3298
"Use the following command to prepare your file to be used as a virtual "
3302
#: serverguide/C/virtualization.xml:586(programlisting)
3304
msgid "$ qemu-img convert -O qcow2 my_new_vm.img.dist my_new_vm.img"
3307
#: serverguide/C/virtualization.xml:590(title)
3308
msgid "create the disk with NoCloud data on it"
3311
#: serverguide/C/virtualization.xml:592(para)
3313
"This action will create a second disk image that will be provided to the "
3314
"virtual machine as a second disk. The cloud-init initialization process will "
3315
"fetch this data and configure the virtual machine appropriately"
3318
#: serverguide/C/virtualization.xml:599(programlisting)
3320
msgid "$ cloud-localds my-seed.img my-user-data"
3323
#: serverguide/C/virtualization.xml:603(title)
3324
msgid "Create the XML domain definition file"
3327
#: serverguide/C/virtualization.xml:605(para)
3329
"You will need to tailor the following XML domain definition file to your "
3330
"need in order to create the libvirt domain. If the files that you have "
3331
"generated are in /home/ubuntu, the template can be used as is."
3334
#: serverguide/C/virtualization.xml:610(para)
3335
msgid "Use the following command to create the template file :"
3338
#: serverguide/C/virtualization.xml:614(programlisting)
3341
"$ cat > my_new_vm.xml <<EOF\n"
3342
"<domain type='kvm'>\n"
3343
" <name>my_new_vm</name>\n"
3344
" <memory unit='MiB'>1024</memory>\n"
3345
" <currentMemory unit='MiB'>1024</currentMemory>\n"
3346
" <vcpu placement='static'>1</vcpu>\n"
3348
" <type arch='x86_64' machine='pc-1.2'>hvm</type>\n"
3349
" <boot dev='hd'/>\n"
3350
" <bootmenu enable='no'/>\n"
3352
" <features>\n"
3356
" </features>\n"
3357
" <clock offset='utc'/>\n"
3358
" <on_poweroff>destroy</on_poweroff>\n"
3359
" <on_reboot>restart</on_reboot>\n"
3360
" <on_crash>restart</on_crash>\n"
3361
" <devices>\n"
3362
" <emulator>/usr/bin/kvm</emulator>\n"
3363
" <disk type='file' device='disk'>\n"
3364
" <driver name='qemu' type='qcow2'/>\n"
3365
" <source file='/home/ubuntu/my_new_vm.img'/>\n"
3366
" <target dev='vda' bus='virtio'/>\n"
3367
" <address type='pci' domain='0x0000' bus='0x00' slot='0x05' "
3368
"function='0x0'/>\n"
3370
" <disk type='file' device='disk'>\n"
3371
" <driver name='qemu' type='raw'/>\n"
3372
" <source file='/home/ubuntu/my-seed.img'/>\n"
3373
" <target dev='hda' bus='ide'/>\n"
3374
" <address type='drive' controller='0' bus='0' target='0' "
3377
" <interface type='network'>\n"
3378
" <source network='default'/>\n"
3379
" <model type='virtio'/>\n"
3380
" <address type='pci' domain='0x0000' bus='0x00' slot='0x03' "
3381
"function='0x0'/>\n"
3382
" </interface>\n"
3383
" <serial type='pty'>\n"
3384
" <target port='0'/>\n"
3385
" </serial>\n"
3386
" <console type='pty'>\n"
3387
" <target type='serial' port='0'/>\n"
3388
" </console>\n"
3389
" <graphics type='vnc' port='-1' autoport='yes'/>\n"
3390
" </devices>\n"
3395
#: serverguide/C/virtualization.xml:666(title)
3396
msgid "Create the VM using libvirt"
3399
#: serverguide/C/virtualization.xml:668(para)
3401
"The last few commands remaining are standard libvirt commands used to define "
3402
"and start your virtual machine :"
3405
#: serverguide/C/virtualization.xml:673(programlisting)
3408
"$ virsh define my_new_vm.xml\n"
3409
"$ virsh start my_new_vm\n"
3410
"$ virsh console my_new_vm"
3413
#: serverguide/C/virtualization.xml:677(para)
3415
"If everything goes as planned, you should see the boot sequence appear in "
3416
"your console session. After the normal boot sequence you will see something "
3417
"similar to the following :"
3420
#: serverguide/C/virtualization.xml:683(programlisting)
3423
"cloud-init start-local running: Wed, 10 Apr 2013 12:30:25 +0000. up 1.67 "
3425
"no instance data found in start-local\n"
3426
"ci-info: lo : 1 127.0.0.1 255.0.0.0 .\n"
3427
"ci-info: eth0 : 1 <emphasis role=\"bold\">192.168.122.113</emphasis> "
3428
"255.255.255.0 52:54:00:c2:fd:e1\n"
3429
"ci-info: route-0: 0.0.0.0 192.168.122.1 0.0.0.0 eth0 UG\n"
3430
"ci-info: route-1: 192.168.122.0 0.0.0.0 255.255.255.0 eth0 U\n"
3431
"<emphasis role=\"bold\">cloud-init start running</emphasis>: Wed, 10 Apr "
3432
"2013 12:30:30 +0000. up 6.30 seconds\n"
3433
"found data source: DataSourceNoCloud [seed=/dev/sda]"
3436
#: serverguide/C/virtualization.xml:692(para)
3438
"This section can be particularly useful to identify the IP address of the "
3439
"virtual machine that you have just started. The cloud-init sequence will "
3440
"continue, creating the SSH information. It should indicates proper "
3441
"completion by the following line :"
3444
#: serverguide/C/virtualization.xml:699(programlisting)
3447
"cloud-init boot finished at Wed, 10 Apr 2013 12:30:35 +0000. Up 10.93 seconds"
3450
#: serverguide/C/virtualization.xml:701(para)
3452
"Your new virtual machine is now available. You can exit out of the virsh "
3453
"console command using <Ctrl>]"
3456
#: serverguide/C/virtualization.xml:704(para)
3458
"You can now connect to your virtual machine using the ssh key that you have "
3459
"created previously :"
3462
#: serverguide/C/virtualization.xml:709(programlisting)
3464
msgid "$ ssh -i $HOME/.ssh/id_rsa ubuntu@192.168.122.113"
3467
#: serverguide/C/virtualization.xml:714(title)
3471
#: serverguide/C/virtualization.xml:716(para)
3473
"Vmbuilder is now maintained by the community as it is no longer used to "
3474
"generate the cloud images. It can still be used as described and it should "
3475
"let you create functioning virtual machines"
3478
#: serverguide/C/virtualization.xml:721(title)
3222
3479
msgid "What is vmbuilder"
3225
#: serverguide/C/virtualization.xml:455(para)
3482
#: serverguide/C/virtualization.xml:723(para)
3227
"With vmbuilder, there is no need to download a JeOS ISO anymore. vmbuilder "
3228
"will fetch the various package and build a virtual machine tailored for your "
3229
"needs in about a minute. vmbuilder is a script that automates the process of "
3230
"creating a ready to use Linux based VM. The currently supported hypervisors "
3484
". Vmbuilder will fetch the various package and build a virtual machine "
3485
"tailored for your needs in about a minute. vmbuilder is a script that "
3486
"automates the process of creating a ready to use Linux based VM. The "
3487
"currently supported hypervisors are KVM and Xen."
3234
#: serverguide/C/virtualization.xml:461(para)
3490
#: serverguide/C/virtualization.xml:728(para)
3236
3492
"You can pass command line options to add extra packages, remove packages, "
3237
3493
"choose which version of Ubuntu, which mirror etc. On recent hardware with "
3431
3683
"192.168.0.0/255 is usually a good choice."
3434
#: serverguide/C/virtualization.xml:638(para)
3686
#: serverguide/C/virtualization.xml:906(para)
3435
3687
msgid "To do this we'll use the following parameters:"
3438
#: serverguide/C/virtualization.xml:644(para)
3690
#: serverguide/C/virtualization.xml:910(para)
3440
3692
"<emphasis>--ip ADDRESS</emphasis>: IP address in dotted form (defaults to "
3441
3693
"dhcp if not specified)"
3444
#: serverguide/C/virtualization.xml:649(para)
3696
#: serverguide/C/virtualization.xml:915(para)
3446
3698
"<emphasis>--hostname NAME</emphasis>: Set NAME as the hostname of the guest."
3449
#: serverguide/C/virtualization.xml:654(para)
3701
#: serverguide/C/virtualization.xml:920(para)
3451
3703
"<emphasis>--mask VALUE</emphasis>: IP mask in dotted form (default: "
3452
3704
"255.255.255.0)"
3455
#: serverguide/C/virtualization.xml:659(para)
3707
#: serverguide/C/virtualization.xml:925(para)
3456
3708
msgid "<emphasis>--net VALUE</emphasis>: IP net address (default: X.X.X.0)"
3459
#: serverguide/C/virtualization.xml:664(para)
3711
#: serverguide/C/virtualization.xml:930(para)
3460
3712
msgid "<emphasis>--bcast VALUE</emphasis>: IP broadcast (default: X.X.X.255)"
3463
#: serverguide/C/virtualization.xml:669(para)
3715
#: serverguide/C/virtualization.xml:935(para)
3464
3716
msgid "<emphasis>--gw ADDRESS</emphasis>: Gateway address (default: X.X.X.1)"
3467
#: serverguide/C/virtualization.xml:674(para)
3719
#: serverguide/C/virtualization.xml:940(para)
3469
3721
"<emphasis>--dns ADDRESS</emphasis>: Name server address (default: X.X.X.1)"
3472
#: serverguide/C/virtualization.xml:680(para)
3724
#: serverguide/C/virtualization.xml:945(para)
3474
3726
"We assume for now that default values are good enough, so the resulting "
3475
3727
"invocation becomes:"
3478
#: serverguide/C/virtualization.xml:685(command)
3730
#: serverguide/C/virtualization.xml:949(command)
3480
3732
"sudo vmbuilder kvm ubuntu --suite raring --flavour virtual --arch i386 \\ -o "
3481
3733
"--libvirt qemu:///system --ip 192.168.0.100 --hostname myvm"
3484
#: serverguide/C/virtualization.xml:691(title) serverguide/C/network-config.xml:527(title)
3736
#: serverguide/C/virtualization.xml:954(title) serverguide/C/network-config.xml:527(title)
3485
3737
msgid "Bridging"
3488
#: serverguide/C/virtualization.xml:693(para)
3740
#: serverguide/C/virtualization.xml:956(para)
3490
3742
"Because our appliance will be likely to need to be accessed by remote hosts, "
3491
3743
"we need to configure libvirt so that the appliance uses bridge networking. "
3492
3744
"To do this add the <emphasis>--bridge</emphasis> option to the command:"
3495
#: serverguide/C/virtualization.xml:699(command)
3747
#: serverguide/C/virtualization.xml:962(command)
3497
3749
"sudo vmbuilder kvm ubuntu --suite raring --flavour virtual --arch i386 \\ -o "
3498
3750
"--libvirt qemu:///system --ip 192.168.0.100 --hostname myvm --bridge br0"
3501
#: serverguide/C/virtualization.xml:704(para)
3753
#: serverguide/C/virtualization.xml:967(para)
3503
3755
"You will need to have previously setup a bridge interface, see <xref "
3504
"linkend=\"bridging\"/> for more information. Also, if the interface name is "
3505
"different change <emphasis>br0</emphasis> to the actual bridge interface."
3756
"linkend=\"cloud-bridging\"/> for more information. Also, if the interface "
3757
"name is different change <emphasis>br0</emphasis> to the actual bridge "
3508
#: serverguide/C/virtualization.xml:713(title) serverguide/C/installation.xml:435(title)
3761
#: serverguide/C/virtualization.xml:976(title) serverguide/C/installation.xml:435(title)
3509
3762
msgid "Partitioning"
3512
#: serverguide/C/virtualization.xml:715(para)
3765
#: serverguide/C/virtualization.xml:978(para)
3514
3767
"Partitioning of the virtual appliance will have to take into consideration "
3515
3768
"what you are planning to do with is. Because most appliances want to have a "
4192
4445
"--public_interface=eth0\n"
4195
#: serverguide/C/virtualization.xml:1247(para)
4448
#: serverguide/C/virtualization.xml:1529(para)
4196
4449
msgid "Restart OpenStack services"
4199
#: serverguide/C/virtualization.xml:1251(command) serverguide/C/virtualization.xml:1255(command)
4452
#: serverguide/C/virtualization.xml:1532(command) serverguide/C/virtualization.xml:1537(command)
4201
4454
"for i in nova-api nova-network nova-objectstore nova-scheduler nova-volume "
4202
4455
"nova-compute; \\"
4205
#: serverguide/C/virtualization.xml:1252(command)
4458
#: serverguide/C/virtualization.xml:1533(command)
4206
4459
msgid "do sudo stop $i; sleep 2; done"
4209
#: serverguide/C/virtualization.xml:1256(command)
4462
#: serverguide/C/virtualization.xml:1538(command)
4210
4463
msgid "do sudo start $i; sleep 2; done"
4213
#: serverguide/C/virtualization.xml:1258(para)
4466
#: serverguide/C/virtualization.xml:1541(para)
4215
4468
"Migrate Nova database from sqlite db to MySQL db. It may take a while."
4218
#: serverguide/C/virtualization.xml:1262(command)
4471
#: serverguide/C/virtualization.xml:1545(command)
4219
4472
msgid "sudo nova-manage db sync"
4222
#: serverguide/C/virtualization.xml:1264(para)
4475
#: serverguide/C/virtualization.xml:1548(para)
4224
4477
"Define a specific <application>private network</application> where all your "
4225
4478
"Instances will run. This will be used in the network of fixed Ips set inside "
4226
4479
"<filename>nova.conf </filename>."
4229
#: serverguide/C/virtualization.xml:1269(command)
4482
#: serverguide/C/virtualization.xml:1553(command)
4231
4484
"sudo nova-manage network create --fixed_range_v4 10.0.0.0/24 --label private "
4235
#: serverguide/C/virtualization.xml:1270(command)
4488
#: serverguide/C/virtualization.xml:1554(command)
4236
4489
msgid "--bridge_interface br100"
4239
#: serverguide/C/virtualization.xml:1272(para)
4492
#: serverguide/C/virtualization.xml:1557(para)
4241
4494
"Define a specific public network and allocate 6 (usable) Floating Public IP "
4242
4495
"addresses for use with the instances starting from 10.153.107.72."
4245
#: serverguide/C/virtualization.xml:1276(command)
4498
#: serverguide/C/virtualization.xml:1562(command)
4246
4499
msgid "sudo nova-manage floating create --ip_range=10.153.107.72/29"
4249
#: serverguide/C/virtualization.xml:1278(para)
4502
#: serverguide/C/virtualization.xml:1565(para)
4251
4504
"Create a user (user1), a project (project1), download credentials and source "
4252
4505
"its configuration file."
4255
#: serverguide/C/virtualization.xml:1280(command)
4508
#: serverguide/C/virtualization.xml:1569(command)
4256
4509
msgid "cd ; mkdir nova ; cd nova"
4259
#: serverguide/C/virtualization.xml:1281(command)
4512
#: serverguide/C/virtualization.xml:1570(command)
4260
4513
msgid "sudo nova-manage user admin user1"
4263
#: serverguide/C/virtualization.xml:1282(command)
4516
#: serverguide/C/virtualization.xml:1571(command)
4264
4517
msgid "sudo nova-manage project create project1 user1"
4267
#: serverguide/C/virtualization.xml:1283(command)
4520
#: serverguide/C/virtualization.xml:1572(command)
4268
4521
msgid "sudo nova-manage project zipfile project1 user1"
4271
#: serverguide/C/virtualization.xml:1284(command)
4524
#: serverguide/C/virtualization.xml:1573(command)
4272
4525
msgid "unzip nova.zip"
4275
#: serverguide/C/virtualization.xml:1285(command) serverguide/C/virtualization.xml:1359(command)
4528
#: serverguide/C/virtualization.xml:1574(command) serverguide/C/virtualization.xml:1657(command)
4276
4529
msgid "source novarc"
4279
#: serverguide/C/virtualization.xml:1288(para)
4532
#: serverguide/C/virtualization.xml:1577(para)
4280
4533
msgid "Verify the OpenStack Compute installation by typing:"
4283
#: serverguide/C/virtualization.xml:1290(command)
4536
#: serverguide/C/virtualization.xml:1580(command)
4284
4537
msgid "sudo nova-manage service list"
4287
#: serverguide/C/virtualization.xml:1291(command)
4540
#: serverguide/C/virtualization.xml:1581(command)
4288
4541
msgid "sudo nova-manage version list"
4291
#: serverguide/C/virtualization.xml:1293(para)
4544
#: serverguide/C/virtualization.xml:1584(para)
4293
4546
"If nova services don't show up correctly restart OpenStack services as "
4294
4547
"described previously. For more information please refer to the "
4295
4548
"troubleshooting section on this guide."
4298
#: serverguide/C/virtualization.xml:1299(title)
4551
#: serverguide/C/virtualization.xml:1590(title)
4299
4552
msgid "Install Imaging Service (Glance)"
4302
#: serverguide/C/virtualization.xml:1300(para)
4555
#: serverguide/C/virtualization.xml:1592(para)
4304
4557
"Nova uses Glance service to manage Operating System images that it needs for "
4305
4558
"bringing up instances. Glance can use several types of storage backends such "
4383
4636
"follow to get OpenStack Nova running instances:"
4386
#: serverguide/C/virtualization.xml:1351(para)
4639
#: serverguide/C/virtualization.xml:1646(para)
4387
4640
msgid "Download, register and publish an Ubuntu cloud image"
4390
#: serverguide/C/virtualization.xml:1353(command)
4643
#: serverguide/C/virtualization.xml:1649(command)
4392
4645
"wget http://cloud-images.ubuntu.com/raring/current/raring-server-cloudimg-"
4396
#: serverguide/C/virtualization.xml:1354(command)
4649
#: serverguide/C/virtualization.xml:1650(command)
4398
4651
"cloud-publish-tarball raring-server-cloudimg-amd64.tar.gz raring_amd64"
4401
#: serverguide/C/virtualization.xml:1356(para)
4654
#: serverguide/C/virtualization.xml:1653(para)
4402
4655
msgid "Create a key pair and start an instance"
4405
#: serverguide/C/virtualization.xml:1358(command)
4658
#: serverguide/C/virtualization.xml:1656(command)
4406
4659
msgid "cd ~/nova"
4409
#: serverguide/C/virtualization.xml:1360(command)
4662
#: serverguide/C/virtualization.xml:1658(command)
4410
4663
msgid "euca-add-keypair user1 > user1.priv"
4413
#: serverguide/C/virtualization.xml:1361(command)
4666
#: serverguide/C/virtualization.xml:1659(command)
4414
4667
msgid "chmod 0600 user1.priv"
4417
#: serverguide/C/virtualization.xml:1364(para)
4670
#: serverguide/C/virtualization.xml:1662(para)
4418
4671
msgid "Allow icmp (ping) and ssh access to instances"
4421
#: serverguide/C/virtualization.xml:1366(command)
4674
#: serverguide/C/virtualization.xml:1665(command)
4422
4675
msgid "euca-authorize default -P tcp -p 22 -s 0.0.0.0/0"
4425
#: serverguide/C/virtualization.xml:1367(command)
4678
#: serverguide/C/virtualization.xml:1666(command)
4426
4679
msgid "euca-authorize -P icmp -t -1:-1 default"
4429
#: serverguide/C/virtualization.xml:1369(para)
4682
#: serverguide/C/virtualization.xml:1669(para)
4430
4683
msgid "Run an instance"
4433
#: serverguide/C/virtualization.xml:1372(command)
4686
#: serverguide/C/virtualization.xml:1672(command)
4434
4687
msgid "ami=`euca-describe-images | awk {'print $2'} | grep -m1 ami`"
4437
#: serverguide/C/virtualization.xml:1373(command)
4690
#: serverguide/C/virtualization.xml:1673(command)
4438
4691
msgid "euca-run-instances $ami -k user1 -t m1.tiny"
4441
#: serverguide/C/virtualization.xml:1374(command) serverguide/C/virtualization.xml:1383(command)
4694
#: serverguide/C/virtualization.xml:1674(command) serverguide/C/virtualization.xml:1682(command)
4442
4695
msgid "euca-describe-instances"
4445
#: serverguide/C/virtualization.xml:1377(para)
4698
#: serverguide/C/virtualization.xml:1677(para)
4446
4699
msgid "Assign public address to the instance."
4449
#: serverguide/C/virtualization.xml:1381(command)
4702
#: serverguide/C/virtualization.xml:1680(command)
4450
4703
msgid "euca-allocate-address"
4453
#: serverguide/C/virtualization.xml:1382(command)
4706
#: serverguide/C/virtualization.xml:1681(command)
4454
4707
msgid "euca-associate-address -i instance_id public_ip_address"
4457
#: serverguide/C/virtualization.xml:1386(para)
4710
#: serverguide/C/virtualization.xml:1685(para)
4459
4712
"You must enter above the <application>instance_id (ami)</application> and "
4460
4713
"<application>public_ip_address</application> shown above by euca-describe-"
4461
4714
"instances and euca-allocate-address commands."
4464
#: serverguide/C/virtualization.xml:1390(para)
4717
#: serverguide/C/virtualization.xml:1690(para)
4465
4718
msgid "Now you should be able to SSH to the instance"
4468
#: serverguide/C/virtualization.xml:1393(application)
4721
#: serverguide/C/virtualization.xml:1693(application)
4469
4722
msgid "ipaddress"
4472
#: serverguide/C/virtualization.xml:1393(command)
4725
#: serverguide/C/virtualization.xml:1693(command)
4473
4726
msgid "ssh -i user1.priv ubuntu@<placeholder-1/>"
4476
#: serverguide/C/virtualization.xml:1396(para)
4729
#: serverguide/C/virtualization.xml:1696(para)
4477
4730
msgid "To terminate instances"
4480
#: serverguide/C/virtualization.xml:1398(application)
4733
#: serverguide/C/virtualization.xml:1699(application)
4481
4734
msgid "instance_id"
4484
#: serverguide/C/virtualization.xml:1398(command)
4737
#: serverguide/C/virtualization.xml:1699(command)
4485
4738
msgid "euca-terminate-instances <placeholder-1/>"
4488
#: serverguide/C/virtualization.xml:1404(title)
4741
#: serverguide/C/virtualization.xml:1704(title)
4489
4742
msgid "Install the Storage Infrastructure (Swift)"
4492
#: serverguide/C/virtualization.xml:1405(para)
4745
#: serverguide/C/virtualization.xml:1706(para)
4494
4747
"Swift is a highly available, distributed, eventually consistent object/blob "
4495
4748
"store. It is used by the OpenStack Infrastructure to provide S3 like cloud "
4496
4749
"storage services. It is also S3 api compatible with amazon."
4499
#: serverguide/C/virtualization.xml:1408(para)
4752
#: serverguide/C/virtualization.xml:1711(para)
4501
4754
"Organizations use Swift to store lots of data efficiently, safely, and "
4502
4755
"cheaply where applications use an special api to interface between the "
4503
4756
"applications and objects stored in Swift."
4506
#: serverguide/C/virtualization.xml:1412(para)
4759
#: serverguide/C/virtualization.xml:1715(para)
4508
4761
"Although you can install Swift on a single server, a multiple-server "
4509
4762
"installation is required for production environments. If you want to install "
4511
4764
"purposes, use the Swift All In One instructions on Ubuntu."
4514
#: serverguide/C/virtualization.xml:1416(para)
4767
#: serverguide/C/virtualization.xml:1721(para)
4516
4769
"For more information see: <ulink "
4517
4770
"url=\"http://swift.openstack.org/development_saio.html\">http://swift.opensta"
4518
4771
"ck.org/development_saio.html </ulink> ."
4521
#: serverguide/C/virtualization.xml:1423(title)
4774
#: serverguide/C/virtualization.xml:1727(title)
4522
4775
msgid "Support and Troubleshooting"
4525
#: serverguide/C/virtualization.xml:1424(para)
4778
#: serverguide/C/virtualization.xml:1729(para)
4526
4779
msgid "Community Support"
4529
#: serverguide/C/virtualization.xml:1428(ulink)
4782
#: serverguide/C/virtualization.xml:1733(ulink)
4530
4783
msgid "OpenStack Mailing list"
4533
#: serverguide/C/virtualization.xml:1433(ulink)
4786
#: serverguide/C/virtualization.xml:1738(ulink)
4534
4787
msgid "The OpenStack Wiki search"
4537
#: serverguide/C/virtualization.xml:1439(ulink)
4790
#: serverguide/C/virtualization.xml:1743(ulink)
4538
4791
msgid "Launchpad bugs area"
4541
#: serverguide/C/virtualization.xml:1443(para)
4794
#: serverguide/C/virtualization.xml:1748(para)
4542
4795
msgid "Join the IRC channel #openstack on freenode."
4545
#: serverguide/C/virtualization.xml:1457(ulink)
4798
#: serverguide/C/virtualization.xml:1759(ulink)
4546
4799
msgid "Cloud Computing - Service models"
4549
#: serverguide/C/virtualization.xml:1462(ulink)
4802
#: serverguide/C/virtualization.xml:1765(ulink)
4550
4803
msgid "OpenStack Compute"
4553
#: serverguide/C/virtualization.xml:1467(ulink)
4806
#: serverguide/C/virtualization.xml:1771(ulink)
4554
4807
msgid "OpenStack Image Service"
4557
#: serverguide/C/virtualization.xml:1472(ulink)
4810
#: serverguide/C/virtualization.xml:1777(ulink)
4558
4811
msgid "OpenStack Object Storage Administration Guide"
4561
#: serverguide/C/virtualization.xml:1477(ulink)
4814
#: serverguide/C/virtualization.xml:1783(ulink)
4562
4815
msgid "Installing OpenStack Object Storage on Ubuntu"
4565
#: serverguide/C/virtualization.xml:1482(ulink)
4818
#: serverguide/C/virtualization.xml:1789(ulink)
4566
4819
msgid "http://cloudglossary.com/"
4569
#: serverguide/C/virtualization.xml:1492(title)
4822
#: serverguide/C/virtualization.xml:1797(title)
4570
4823
msgid "Glossary"
4573
#: serverguide/C/virtualization.xml:1494(para)
4826
#: serverguide/C/virtualization.xml:1799(para)
4575
4828
"The Ubuntu Cloud documentation uses terminology that might be unfamiliar to "
4576
4829
"some readers. This page is intended to provide a glossary of such terms and "
4580
#: serverguide/C/virtualization.xml:1501(para)
4833
#: serverguide/C/virtualization.xml:1805(para)
4582
4835
"<emphasis>Cloud</emphasis> - A federated set of physical machines that offer "
4583
4836
"computing resources through virtual machines, provisioned and recollected "
4587
#: serverguide/C/virtualization.xml:1507(para)
4840
#: serverguide/C/virtualization.xml:1811(para)
4589
4842
"<emphasis>IaaS</emphasis> - Infrastructure as a Service -- Cloud "
4590
4843
"infrastructure services, whereby a virtualized environment is delivered as a "
5477
5730
" * Will now halt\n"
5480
#: serverguide/C/virtualization.xml:2380(para)
5733
#: serverguide/C/virtualization.xml:2602(para)
5482
5735
"A container can be frozen with <command>sudo lxc-freeze -n CN</command>. "
5483
5736
"This will block all its processes until the container is later unfrozen "
5484
5737
"using <command>sudo lxc-unfreeze -n CN</command>."
5487
#: serverguide/C/virtualization.xml:2389(title)
5740
#: serverguide/C/virtualization.xml:2609(title)
5488
5741
msgid "Lifecycle management hooks"
5491
#: serverguide/C/virtualization.xml:2391(para)
5744
#: serverguide/C/virtualization.xml:2611(para)
5493
5746
"Beginning with Ubuntu 12.10, it is possible to define hooks to be executed "
5494
5747
"at specific points in a container's lifetime:"
5497
#: serverguide/C/virtualization.xml:2397(para)
5750
#: serverguide/C/virtualization.xml:2616(para)
5499
5752
"Pre-start hooks are run in the host's namespace before the container ttys, "
5500
5753
"consoles, or mounts are up. If any mounts are done in this hook, they should "
5501
5754
"be cleaned up in the post-stop hook."
5504
#: serverguide/C/virtualization.xml:2399(para)
5757
#: serverguide/C/virtualization.xml:2623(para)
5506
5759
"Pre-mount hooks are run in the container's namespaces, but before the root "
5507
5760
"filesystem has been mounted. Mounts done in this hook will be automatically "
5508
5761
"cleaned up when the container shuts down."
5511
#: serverguide/C/virtualization.xml:2401(para)
5764
#: serverguide/C/virtualization.xml:2630(para)
5513
5766
"Mount hooks are run after the container filesystems have been mounted, but "
5514
5767
"before the container has called <command>pivot_root</command> to change its "
5515
5768
"root filesystem."
5518
#: serverguide/C/virtualization.xml:2402(para)
5771
#: serverguide/C/virtualization.xml:2637(para)
5520
5773
"Start hooks are run immediately before executing the container's init. Since "
5521
5774
"these are executed after pivoting into the container's filesystem, the "
5522
5775
"command to be executed must be copied into the container's filesystem."
5525
#: serverguide/C/virtualization.xml:2403(para)
5778
#: serverguide/C/virtualization.xml:2644(para)
5526
5779
msgid "Post-stop hooks are executed after the container has been shut down."
5529
#: serverguide/C/virtualization.xml:2406(para)
5782
#: serverguide/C/virtualization.xml:2649(para)
5531
5784
"If any hook returns an error, the container's run will be aborted. Any "
5532
5785
"<emphasis>post-stop</emphasis> hook will still be executed. Any output "
5533
5786
"generated by the script will be logged at the debug priority."
5536
#: serverguide/C/virtualization.xml:2412(para)
5789
#: serverguide/C/virtualization.xml:2654(para)
5538
5791
"See <xref linkend=\"lxc-conf-other\"/> for the configuration file format "
5539
5792
"with which to specify hooks. Some sample hooks are shipped with the lxc "
5540
5793
"package to serve as an example of how to write and use such hooks."
5543
#: serverguide/C/virtualization.xml:2421(title)
5796
#: serverguide/C/virtualization.xml:2661(title)
5544
5797
msgid "Monitoring container status"
5547
#: serverguide/C/virtualization.xml:2423(para)
5800
#: serverguide/C/virtualization.xml:2663(para)
5549
5802
"Two commands are available to monitor container state changes. <command>lxc-"
5550
5803
"monitor</command> monitors one or more containers for any state changes. It "
5750
6003
"root 110 1 0 10:20 pts/9 00:00:00 ps -ef\n"
5753
#: serverguide/C/virtualization.xml:2635(para)
6006
#: serverguide/C/virtualization.xml:2848(para)
5755
6008
"so that <command>ps</command> shows only the tasks in your new namespace."
5758
#: serverguide/C/virtualization.xml:2641(title)
6011
#: serverguide/C/virtualization.xml:2853(title)
5759
6012
msgid "Ephemeral containers"
5762
#: serverguide/C/virtualization.xml:2643(para)
6015
#: serverguide/C/virtualization.xml:2855(para)
5764
6017
"Ephemeral containers are one-time containers. Given an existing container "
5765
6018
"CN, you can run a command in an ephemeral container created based on CN, "
5766
6019
"with the host's jdoe user bound into the container, using:"
5769
#: serverguide/C/virtualization.xml:2651(command)
6022
#: serverguide/C/virtualization.xml:2861(command)
5770
6023
msgid "lxc-start-ephemeral -b jdoe -o CN -- /home/jdoe/run_my_job"
5773
#: serverguide/C/virtualization.xml:2656(para)
6026
#: serverguide/C/virtualization.xml:2866(para)
5774
6027
msgid "When the job is finished, the container will be discarded."
5777
#: serverguide/C/virtualization.xml:2662(title)
6030
#: serverguide/C/virtualization.xml:2871(title)
5778
6031
msgid "Container Commands"
5781
#: serverguide/C/virtualization.xml:2663(para)
6034
#: serverguide/C/virtualization.xml:2873(para)
5782
6035
msgid "Following is a table of all container commands:"
5785
#: serverguide/C/virtualization.xml:2667(title)
6038
#: serverguide/C/virtualization.xml:2876(title)
5786
6039
msgid "Container commands"
5789
#: serverguide/C/virtualization.xml:2673(para)
6042
#: serverguide/C/virtualization.xml:2885(para)
5790
6043
msgid "Command"
5793
#: serverguide/C/virtualization.xml:2674(para)
6046
#: serverguide/C/virtualization.xml:2887(para)
5794
6047
msgid "Synopsis"
5797
#: serverguide/C/virtualization.xml:2679(para)
6050
#: serverguide/C/virtualization.xml:2893(para)
5798
6051
msgid "lxc-attach"
5801
#: serverguide/C/virtualization.xml:2680(para)
6054
#: serverguide/C/virtualization.xml:2895(para)
5802
6055
msgid "(NOT SUPPORTED) Run a command in a running container"
5805
#: serverguide/C/virtualization.xml:2683(para)
6058
#: serverguide/C/virtualization.xml:2900(para)
5806
6059
msgid "lxc-backup"
5809
#: serverguide/C/virtualization.xml:2684(para)
6062
#: serverguide/C/virtualization.xml:2902(para)
5810
6063
msgid "Back up the root filesystems for all lvm-backed containers"
5813
#: serverguide/C/virtualization.xml:2687(para)
6066
#: serverguide/C/virtualization.xml:2907(para)
5814
6067
msgid "lxc-cgroup"
5817
#: serverguide/C/virtualization.xml:2688(para)
6070
#: serverguide/C/virtualization.xml:2909(para)
5818
6071
msgid "View and set container control group settings"
5821
#: serverguide/C/virtualization.xml:2691(para)
6074
#: serverguide/C/virtualization.xml:2914(para)
5822
6075
msgid "lxc-checkconfig"
5825
#: serverguide/C/virtualization.xml:2692(para)
6078
#: serverguide/C/virtualization.xml:2916(para)
5826
6079
msgid "Verify host support for containers"
5829
#: serverguide/C/virtualization.xml:2695(para)
6082
#: serverguide/C/virtualization.xml:2920(para)
5830
6083
msgid "lxc-checkpoint"
5833
#: serverguide/C/virtualization.xml:2696(para)
6086
#: serverguide/C/virtualization.xml:2922(para)
5834
6087
msgid "(NOT SUPPORTED) Checkpoint a running container"
5837
#: serverguide/C/virtualization.xml:2699(para)
6090
#: serverguide/C/virtualization.xml:2927(para)
5838
6091
msgid "lxc-clone"
5841
#: serverguide/C/virtualization.xml:2700(para)
6094
#: serverguide/C/virtualization.xml:2929(para)
5842
6095
msgid "Clone a new container from an existing one"
5845
#: serverguide/C/virtualization.xml:2703(para)
6098
#: serverguide/C/virtualization.xml:2934(para)
5846
6099
msgid "lxc-console"
5849
#: serverguide/C/virtualization.xml:2704(para)
6102
#: serverguide/C/virtualization.xml:2936(para)
5850
6103
msgid "Open a console in a running container"
5853
#: serverguide/C/virtualization.xml:2707(para)
6106
#: serverguide/C/virtualization.xml:2941(para)
5854
6107
msgid "lxc-create"
5857
#: serverguide/C/virtualization.xml:2708(para)
6110
#: serverguide/C/virtualization.xml:2943(para)
5858
6111
msgid "Create a new container"
5861
#: serverguide/C/virtualization.xml:2711(para)
6114
#: serverguide/C/virtualization.xml:2947(para)
5862
6115
msgid "lxc-destroy"
5865
#: serverguide/C/virtualization.xml:2712(para)
6118
#: serverguide/C/virtualization.xml:2949(para)
5866
6119
msgid "Destroy an existing container"
5869
#: serverguide/C/virtualization.xml:2715(para)
6122
#: serverguide/C/virtualization.xml:2953(para)
5870
6123
msgid "lxc-execute"
5873
#: serverguide/C/virtualization.xml:2716(para)
6126
#: serverguide/C/virtualization.xml:2955(para)
5874
6127
msgid "Run a command in a (not running) application container"
5877
#: serverguide/C/virtualization.xml:2719(para)
6130
#: serverguide/C/virtualization.xml:2960(para)
5878
6131
msgid "lxc-freeze"
5881
#: serverguide/C/virtualization.xml:2720(para)
6134
#: serverguide/C/virtualization.xml:2962(para)
5882
6135
msgid "Freeze a running container"
5885
#: serverguide/C/virtualization.xml:2723(para)
6138
#: serverguide/C/virtualization.xml:2966(para)
5886
6139
msgid "lxc-info"
5889
#: serverguide/C/virtualization.xml:2724(para)
6142
#: serverguide/C/virtualization.xml:2968(para)
5890
6143
msgid "Print information on the state of a container"
5893
#: serverguide/C/virtualization.xml:2727(para)
6146
#: serverguide/C/virtualization.xml:2973(para)
5894
6147
msgid "lxc-kill"
5897
#: serverguide/C/virtualization.xml:2728(para)
6150
#: serverguide/C/virtualization.xml:2975(para)
5898
6151
msgid "Send a signal to a container's init"
5901
#: serverguide/C/virtualization.xml:2731(para)
6154
#: serverguide/C/virtualization.xml:2980(para)
5902
6155
msgid "lxc-list"
5905
#: serverguide/C/virtualization.xml:2732(para)
6158
#: serverguide/C/virtualization.xml:2982(para)
5906
6159
msgid "List all containers"
5909
#: serverguide/C/virtualization.xml:2735(para)
6162
#: serverguide/C/virtualization.xml:2986(para)
5913
#: serverguide/C/virtualization.xml:2736(para)
6166
#: serverguide/C/virtualization.xml:2988(para)
5914
6167
msgid "List all containers with shorter output than lxc-list"
5917
#: serverguide/C/virtualization.xml:2739(para)
6170
#: serverguide/C/virtualization.xml:2993(para)
5918
6171
msgid "lxc-monitor"
5921
#: serverguide/C/virtualization.xml:2740(para)
6174
#: serverguide/C/virtualization.xml:2995(para)
5922
6175
msgid "Monitor state changes of one or more containers"
5925
#: serverguide/C/virtualization.xml:2743(para)
6178
#: serverguide/C/virtualization.xml:3000(para)
5926
6179
msgid "lxc-netstat"
5929
#: serverguide/C/virtualization.xml:2744(para)
6182
#: serverguide/C/virtualization.xml:3002(para)
5930
6183
msgid "Execute netstat in a running container"
5933
#: serverguide/C/virtualization.xml:2747(para)
6186
#: serverguide/C/virtualization.xml:3007(para)
5937
#: serverguide/C/virtualization.xml:2748(para)
6190
#: serverguide/C/virtualization.xml:3009(para)
5938
6191
msgid "View process info in a running container"
5941
#: serverguide/C/virtualization.xml:2751(para)
6194
#: serverguide/C/virtualization.xml:3014(para)
5942
6195
msgid "lxc-restart"
5945
#: serverguide/C/virtualization.xml:2752(para)
6198
#: serverguide/C/virtualization.xml:3016(para)
5946
6199
msgid "(NOT SUPPORTED) Restart a checkpointed container"
5949
#: serverguide/C/virtualization.xml:2755(para)
6202
#: serverguide/C/virtualization.xml:3021(para)
5950
6203
msgid "lxc-restore"
5953
#: serverguide/C/virtualization.xml:2756(para)
6206
#: serverguide/C/virtualization.xml:3023(para)
5954
6207
msgid "Restore containers from backups made by lxc-backup"
5957
#: serverguide/C/virtualization.xml:2759(para)
6210
#: serverguide/C/virtualization.xml:3028(para)
5958
6211
msgid "lxc-setcap"
5961
#: serverguide/C/virtualization.xml:2760(para)
6214
#: serverguide/C/virtualization.xml:3030(para)
5962
6215
msgid "(NOT RECOMMENDED) Set file capabilities on LXC tools"
5965
#: serverguide/C/virtualization.xml:2763(para)
6218
#: serverguide/C/virtualization.xml:3035(para)
5966
6219
msgid "lxc-setuid"
5969
#: serverguide/C/virtualization.xml:2764(para)
6222
#: serverguide/C/virtualization.xml:3037(para)
5970
6223
msgid "(NOT RECOMMENDED) Set or remove setuid bits on LXC tools"
5973
#: serverguide/C/virtualization.xml:2767(para)
6226
#: serverguide/C/virtualization.xml:3042(para)
5974
6227
msgid "lxc-shutdown"
5977
#: serverguide/C/virtualization.xml:2768(para)
6230
#: serverguide/C/virtualization.xml:3044(para)
5978
6231
msgid "Safely shut down a container"
5981
#: serverguide/C/virtualization.xml:2771(para)
6234
#: serverguide/C/virtualization.xml:3048(para)
5982
6235
msgid "lxc-start"
5985
#: serverguide/C/virtualization.xml:2772(para)
6238
#: serverguide/C/virtualization.xml:3050(para)
5986
6239
msgid "Start a stopped container"
5989
#: serverguide/C/virtualization.xml:2775(para)
6242
#: serverguide/C/virtualization.xml:3054(para)
5990
6243
msgid "lxc-start-ephemeral"
5993
#: serverguide/C/virtualization.xml:2776(para)
6246
#: serverguide/C/virtualization.xml:3056(para)
5994
6247
msgid "Start an ephemeral (one-time) container"
5997
#: serverguide/C/virtualization.xml:2779(para)
6250
#: serverguide/C/virtualization.xml:3061(para)
5998
6251
msgid "lxc-stop"
6001
#: serverguide/C/virtualization.xml:2780(para)
6254
#: serverguide/C/virtualization.xml:3063(para)
6002
6255
msgid "Immediately stop a running container"
6005
#: serverguide/C/virtualization.xml:2783(para)
6258
#: serverguide/C/virtualization.xml:3068(para)
6006
6259
msgid "lxc-unfreeze"
6009
#: serverguide/C/virtualization.xml:2784(para)
6262
#: serverguide/C/virtualization.xml:3070(para)
6010
6263
msgid "Unfreeze a frozen container"
6013
#: serverguide/C/virtualization.xml:2787(para)
6266
#: serverguide/C/virtualization.xml:3074(para)
6014
6267
msgid "lxc-unshare"
6017
#: serverguide/C/virtualization.xml:2788(para)
6270
#: serverguide/C/virtualization.xml:3076(para)
6018
6271
msgid "Testing tool to manually unshare namespaces"
6021
#: serverguide/C/virtualization.xml:2791(para)
6274
#: serverguide/C/virtualization.xml:3081(para)
6022
6275
msgid "lxc-version"
6025
#: serverguide/C/virtualization.xml:2792(para)
6278
#: serverguide/C/virtualization.xml:3083(para)
6026
6279
msgid "Print the version of the LXC tools"
6029
#: serverguide/C/virtualization.xml:2795(para)
6282
#: serverguide/C/virtualization.xml:3087(para)
6030
6283
msgid "lxc-wait"
6033
#: serverguide/C/virtualization.xml:2796(para)
6286
#: serverguide/C/virtualization.xml:3089(para)
6034
6287
msgid "Wait for a container to reach a particular state"
6037
#: serverguide/C/virtualization.xml:2806(title)
6290
#: serverguide/C/virtualization.xml:3099(title)
6038
6291
msgid "Configuration File"
6041
#: serverguide/C/virtualization.xml:2808(para)
6294
#: serverguide/C/virtualization.xml:3101(para)
6043
6296
"LXC containers are very flexible. The Ubuntu <application>lxc</application> "
6044
6297
"package sets defaults to make creation of Ubuntu system containers as simple "
6499
6752
"Ubuntu 12.04 LTS cloud image using"
6502
#: serverguide/C/virtualization.xml:3255(command)
6755
#: serverguide/C/virtualization.xml:3545(command)
6504
6757
"url1=`ubuntu-cloudimg-query precise daily $arch --format \"%{url}\\n\"` "
6505
6758
"url=`echo $url1 | sed -e 's/.tar.gz/-root\\0/'` wget $url filename=`basename "
6509
#: serverguide/C/virtualization.xml:3263(para)
6762
#: serverguide/C/virtualization.xml:3553(para)
6510
6763
msgid "Extract the downloaded tarball, for instance"
6513
#: serverguide/C/virtualization.xml:3268(command)
6766
#: serverguide/C/virtualization.xml:3556(command)
6514
6767
msgid "mkdir $HOME/c1 cd $HOME/c1 sudo tar zxf $filename"
6517
#: serverguide/C/virtualization.xml:3275(para)
6770
#: serverguide/C/virtualization.xml:3563(para)
6518
6771
msgid "Download the xml template"
6521
#: serverguide/C/virtualization.xml:3285(para)
6774
#: serverguide/C/virtualization.xml:3571(para)
6523
6776
"In the xml template, replace the name o1 with c1 and the source directory "
6524
6777
"<filename>/var/lib/lxc/o1/rootfs</filename> with "
6525
6778
"<filename>$HOME/c1</filename>. Then define the container using"
6528
#: serverguide/C/virtualization.xml:3292(command)
6781
#: serverguide/C/virtualization.xml:3576(command)
6529
6782
msgid "virsh define o1.xml"
6532
#: serverguide/C/virtualization.xml:3300(title)
6785
#: serverguide/C/virtualization.xml:3583(title)
6533
6786
msgid "Interacting with libvirt containers"
6536
#: serverguide/C/virtualization.xml:3302(para)
6789
#: serverguide/C/virtualization.xml:3585(para)
6537
6790
msgid "As we've seen, you can create a libvirt-lxc container using"
6540
#: serverguide/C/virtualization.xml:3307(command)
6793
#: serverguide/C/virtualization.xml:3589(command)
6541
6794
msgid "virsh -c lxc:/// define container.xml"
6544
#: serverguide/C/virtualization.xml:3312(para)
6797
#: serverguide/C/virtualization.xml:3594(para)
6545
6798
msgid "To start a container called <emphasis>container</emphasis>, use"
6548
#: serverguide/C/virtualization.xml:3317(command)
6801
#: serverguide/C/virtualization.xml:3598(command)
6549
6802
msgid "virsh -c lxc:/// start container"
6552
#: serverguide/C/virtualization.xml:3322(para)
6805
#: serverguide/C/virtualization.xml:3603(para)
6553
6806
msgid "To stop a running container, use"
6556
#: serverguide/C/virtualization.xml:3327(command)
6809
#: serverguide/C/virtualization.xml:3606(command)
6557
6810
msgid "virsh -c lxc:/// destroy container"
6560
#: serverguide/C/virtualization.xml:3332(para)
6813
#: serverguide/C/virtualization.xml:3611(para)
6562
6815
"Note that whereas the <command>lxc-destroy</command> command deletes the "
6563
6816
"container, the <command>virsh destroy</command> command stops a running "
6564
6817
"container. To delete the container definition, use"
6567
#: serverguide/C/virtualization.xml:3339(command)
6820
#: serverguide/C/virtualization.xml:3617(command)
6568
6821
msgid "virsh -c lxc:/// undefine container"
6571
#: serverguide/C/virtualization.xml:3344(para)
6824
#: serverguide/C/virtualization.xml:3622(para)
6572
6825
msgid "To get a console to a running container, use"
6575
#: serverguide/C/virtualization.xml:3349(command)
6828
#: serverguide/C/virtualization.xml:3625(command)
6576
6829
msgid "virsh -c lxc:/// console container"
6579
#: serverguide/C/virtualization.xml:3354(para)
6832
#: serverguide/C/virtualization.xml:3630(para)
6580
6833
msgid "Exit the console by simultaneously pressing control and ]."
6583
#: serverguide/C/virtualization.xml:3363(title)
6836
#: serverguide/C/virtualization.xml:3636(title)
6584
6837
msgid "The lxcguest package"
6587
#: serverguide/C/virtualization.xml:3365(para)
6840
#: serverguide/C/virtualization.xml:3638(para)
6589
6842
"In the 11.04 (Natty) and 11.10 (Oneiric) releases of Ubuntu, a package was "
6590
6843
"introduced called <emphasis role=\"italic\">lxcguest</emphasis>. An "