Difference between revisions of "Vnx-rootfslxc"

From VNX
Jump to: navigation, search
(Basic installation)
Line 3: Line 3:
 
== Basic installation ==
 
== Basic installation ==
  
Follow this procedure to create a Ubuntu based LXC root filesystem for VNX. The procedure has been tested over Ubuntu 13.10.  
+
Follow this procedure to create a Ubuntu based LXC root filesystem for VNX. The procedure has been tested with Ubuntu versions from 13.10 to 16.04.  
  
 
<ul>
 
<ul>
 
<li>Create the rootfs with:</li>
 
<li>Create the rootfs with:</li>
  lxc-create -t ubuntu -n vnx_rootfs_lxc_ubuntu-13.10
+
  lxc-create -t ubuntu -n vnx_rootfs_lxc_ubuntu-16.04
 
Note1: The default username/password is ubuntu/ubuntu.<br>
 
Note1: The default username/password is ubuntu/ubuntu.<br>
Note2: using the linux32 command it should be posible to create a 32 bits image from a 64 bits machine, that is:
+
Note2: This method creates an image with the same architecture (32 or 64 bits) as the host. To create a 32 bits image in a 64 bits host, the only method known to work is to follow the procedure described in this page inside a KVM 32 bits virtual machine.
linux32 lxc-create -t ubuntu -n vnx_rootfs_lxc_ubuntu
 
but it does not work...why?
 
 
<li>Move the rootfs to VNX filesystems directory:</li>
 
<li>Move the rootfs to VNX filesystems directory:</li>
  mv /var/lib/lxc/vnx_rootfs_lxc_ubuntu-13.10/ /usr/share/vnx/filesystems/
+
  mv /var/lib/lxc/vnx_rootfs_lxc_ubuntu-16.04/ /usr/share/vnx/filesystems/
<li>Edit the rootfs configuration file (/usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-13.10-v025/config) to reflect the directory change:</li>
+
<li>Edit the rootfs configuration file (/usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/config) to reflect the directory change:</li>
  lxc.rootfs = /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-13.10/rootfs
+
  lxc.rootfs = /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/rootfs
  lxc.mount  = /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-13.10/fstab
+
  lxc.mount  = /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/fstab
 
<li>Create fstab file (if not created):</li>
 
<li>Create fstab file (if not created):</li>
  touch vnx_rootfs_lxc_ubuntu-13.10/fstab
+
  touch vnx_rootfs_lxc_ubuntu-16.04/fstab
 
<li>Start the new rootfs to configure it and install new software:</li>
 
<li>Start the new rootfs to configure it and install new software:</li>
  lxc-start -n vnx_rootfs_lxc_ubuntu-13.10-v025 -F -f /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-13.10/config
+
  lxc-start -n vnx_rootfs_lxc_ubuntu-16.04 -F -f /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/config
 
<li>Once the VM has started, make login (ubuntu/ubuntu) and:</li>
 
<li>Once the VM has started, make login (ubuntu/ubuntu) and:</li>
 
<ul>
 
<ul>
Line 48: Line 46:
 
<li>Optionally, create a short link to the rootfs:</li>
 
<li>Optionally, create a short link to the rootfs:</li>
 
  cd /usr/share/vnx/filesystems
 
  cd /usr/share/vnx/filesystems
  ln -s vnx_rootfs_lxc_ubuntu-13.10 rootfs_lxc
+
  ln -s vnx_rootfs_lxc_ubuntu-16.04 rootfs_lxc
 
</ul>
 
</ul>

Revision as of 16:38, 7 May 2016

How to create a LXC Ubuntu root filesystem for VNX

Basic installation

Follow this procedure to create a Ubuntu based LXC root filesystem for VNX. The procedure has been tested with Ubuntu versions from 13.10 to 16.04.

  • Create the rootfs with:
  • lxc-create -t ubuntu -n vnx_rootfs_lxc_ubuntu-16.04
    

    Note1: The default username/password is ubuntu/ubuntu.
    Note2: This method creates an image with the same architecture (32 or 64 bits) as the host. To create a 32 bits image in a 64 bits host, the only method known to work is to follow the procedure described in this page inside a KVM 32 bits virtual machine.

  • Move the rootfs to VNX filesystems directory:
  • mv /var/lib/lxc/vnx_rootfs_lxc_ubuntu-16.04/ /usr/share/vnx/filesystems/
    
  • Edit the rootfs configuration file (/usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/config) to reflect the directory change:
  • lxc.rootfs = /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/rootfs
    lxc.mount  = /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/fstab
    
  • Create fstab file (if not created):
  • touch vnx_rootfs_lxc_ubuntu-16.04/fstab
    
  • Start the new rootfs to configure it and install new software:
  • lxc-start -n vnx_rootfs_lxc_ubuntu-16.04 -F -f /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu-16.04/config
    
  • Once the VM has started, make login (ubuntu/ubuntu) and:
    • Add VNX user and change the passwords:
    • sudo adduser vnx
      sudo adduser vnx sudo
      sudo passwd root
      
    • Update and install software:
    • sudo apt-get update
      sudo apt-get dist-upgrade
      sudo apt-get install aptsh openssh-server traceroute telnet nmap apache2 wget tcpdump
      update-rc.d -f apache2 remove   # to avoid automatic start
      
    • Change VM name in hosts and hostname files:
    • sudo vi /etc/hosts         # change name to vnx
      sudo vi /etc/hostname      #     "
      
    • Enable root access through textual console with:
    • echo "pts/0" >> /etc/securetty
      
    • Important: edit /etc/network/interfaces and coment "inet dhcp" lines to avoid delays at startup. Besides, edit /etc/init/failsafe.conf and change all "sleep XX" commands to "sleep 1".
  • Exit and login again with user vnx/xxxx to delete ubuntu user:
  • sudo deluser ubuntu
    
  • Stop the VM with:
  • halt
    
  • If you want to pack the root filesystem into a tar file, use the following command:
  • tar --numeric-owner -czpf vnx_rootfs_lxc_ubuntu-16.04-v025.tgz vnx_rootfs_lxc_ubuntu-16.04-v025
    
  • Optionally, create a short link to the rootfs:
  • cd /usr/share/vnx/filesystems
    ln -s vnx_rootfs_lxc_ubuntu-16.04 rootfs_lxc