virtualization with solaris a.v.bogdanov, pyaesonekoko state marine technical university,...
TRANSCRIPT
VIRTUALIZATION WITH SOLARIS
A.V.Bogdanov, PyaeSoneKoKo
State Marine Technical University, St.petersburg
• Better utilization of hardware resources• Reduced time to market• High availability• Disaster recovery• Testing new technologies• Migrating services to new platforms
Why should we use virtualization?
• Solaris zones• Linux branded zones• Xen (dom0 and domU)• Crossbow (virtualized network stacks)• More to come …
Which virtualization technologies come withSolaris / OpenSolaris?
Better isolation as compared to a chroot (chroot jail). Low overhead. LXC uses minimal resources in terms of RAM
and hard drive space without the overhead of installing a guest OS in a virtual machine ( VMWare / VirtualBox / KVM ).
Applications and services (servers) run at native speed. There is support for Linux containers in libvirt . Linux containers work well with btrfs . No special hardware is required, runs on 32 and 64 bit
processors. Linux containers are Open source. Unlike XEN or OpenVZ , no patch is required to the kernel.
What are LXC Linux Containers?
Create control group filesystem as the root user.# mkdir -p /cgroup# mount none -t cgroup /cgroup
Add to fstab so it will be there after a reboot.# vi /etc/fstab and add line belownone /cgroup cgroup defaults 0 0
Applications to install.# apt-get install libvirt-bin debootstrap
We need to download and install this pkg.lxc_0.7.2-1_amd64.deb# dpkg -i lxc_0.7.2-1_amd64.deb
LXC Linux Containers on Ubuntu with CentOs Clients
# Create a container# lxc-create -f /path/to/{CONTAINER_NAME}/main/config/file -n {CONTAINER_NAME}# lxc-create -f /etc/lxc/lxc-centos.conf -n centos
Create a rootfs directory# mkdir /var/lib/lxc/centos/rootfs
Copy files you worked on earlier.# cp -r /home/yourhomeidirectory/LXC/Centos5-x86_64/* /var/lib/lxc/{CONTAINER_NAME}/rootfs# cp -r /home/yourhomeidirectory/LXC/Centos5-x86_64/* /var/lib/lxc/centos/rootfs
Create this file for creating and setup default devices for your containers.# vi /usr/local/bin/lxc-config and add information below, also only needs to be run once for every new container you create.
Step1: Create a container
# cd /var/lib/lxc/CONTAINER_NAME}/rootfs/# cd /var/lib/lxc/centos/rootfs/# /usr/local/bin/lxc-config # fix /dev
Chrooting into the rootfs file system for centos# chroot /var/lib/lxc/centos/rootfs/
Setup root password for your container.# passwd root
Start or Remove some services from running# chkconfig sshd on# chkconfig httpd on# chkconfig xinetd off# chkconfig sendmail off
When finish type exit to finish chroot session.
Step2: Chroot session
Destroy container and files# lxc-destroy -n {CONTAINER_NAME}# lxc-destroy -n centos
Start container# lxc-start -n {CONTAINER_NAME} init# lxc-start -n centos init
Stop container# lxc-stop -n {CONTAINER_NAME}# lxc-stop -n centos
Connect to tty console# lxc-console -n centos -t 1 doesn’t seem to work for me.
Check your configuration# lxc-checkconfig
List containers# lxc-lsIf you receive this error lxc-ls warning, got bogus unix line, reinstall uml-utiilities# sudo apt-get –reinstall install uml-utilities
Is it RUNNING or STOPPED# lxc-info -n {CONTAINER_NAME}# lxc-info -n centos
Step3: Delete container and files
Containers may be used for a number of different reasons. These include:
Resource partitioning with maximum performance. Multiple secure applications instances (e.g. a walled
garden). Process isolation (e.g. process jails). GPL insulation.
How containers are used
1. Reduced overhead 1. Reduced flexibility
2. Increased density 2. Decreased isolation
3. Reduced sprawl
Advantages and disadvantages of containers
“LXC linux containers are reliable and predictable – and has what we need in an operating system. The Solaris OS also allows multiple applications to be consolidated onto a single system through virtualization, which makes it an ideal solution for standardization. Virtualization features ensure high availability, which is critical to Argonne’s environment.”
Conclusion