msgbartop
A chronological documentation test project, nothing serious, really!
msgbarbottom

15 Jul 2015 Virtualize physical Ubuntu linux server

This post describes how to create a bit for bit copy of a Ubuntu 14.04 LTS server using tools like gddrescue and qemu from a Ubuntu Live-CD. This procedure can actually be used to create a copy of any operating system, not just Ubuntu.

This could probably have been done more easily and faster using VMware vCenter Converter Standalone Client but I have experienced that not all linux flavours can be converted easily.

To perform such an operation you need several things.

  • Extra harddrive – same size or bigger than used disk space
  • Access to the linux packages gddrescue, qemu-imgThe first thing you should do to reduce the time ddrescue uses to copy the data is to remove unneeded files and folders as well as removing harddrives that you do not want to copy.

Creating the disk image

# ddrescue --nosplit /dev/sda imagefile.img imagefile.log

The –nosplit option copies the disk without retrying or splitting the file and is also “fast”.
Remember to place the imagefile.img on another harddisk than you are imageing to avoid filling your disk.

Convert the img file to a VWware VMDK disk file

# qemu-img -p convert -f raw sda.img -O vmdk sda.vmdk

Options used
-p gives you a nice progress indication of the conversion
-f raw tells us that we a trying to convert a raw disk image
-O vmdk describes the output format of the new disk image, in this example a VMware VMDK-file

qemu-img (1.5.0) supports a wide range of formats like vvfat vpc vmdk vhdx vdi sheepdog sheepdog sheepdog rbd raw host_cdrom host_floppy host_device file qed qcow2 qcow parallels nbd nbd nbd dmg tftp ftps ftp https http cow cloop bochs blkverify blkdebug.

Tags: , , , , , ,

Posted by

15 Jul 2015 VMware ESXi host tips

Some of my VMware notes in short form, just publishing it since it has been in my drafts folder too long.

Remove virtual adapter ala vmk0
# esxcli network ip interface remove -i vmk1

Configure IP on vmk
# esxcli network ip interface ipv4 set -i vmk3 -I 10.255.2.37 -N 255.255.255.0 -t static

List vmk
# esxcli network ip interface ipv4 get

# esxcfg-route

# esxcli software vib list

Remove vib on VMware host
# esxcli software vib remove -n=”vcloud-agent”

Removing of inaccessible NFS datastore
# esxcli storage nfs list

On the ESXi host
# /etc/init.d/storageRM stop

In the vSphere Client
“Rescan All” storage pĂ„ host

# /etc/init.d/storageRM start

In vSphere Client
Remove inaccessible datastore

Check MTU values on ESXi host
# esxcli network nic list
Name PCI Device Driver Link Speed Duplex MAC Address MTU Description
—— ————- —— —- —– —— —————– —- —————————————————————-
vmnic0 0000:002:00.0 bnx2 Up 1000 Full a4:aa:aa:ab:aa:33 1500 Broadcom Corporation Broadcom NetXtreme II BCM5709 1000Base-T
vmnic1 0000:002:00.1 bnx2 Up 1000 Full a4:ae:aa:ab:aa:35 1500 Broadcom Corporation Broadcom NetXtreme II BCM5709 1000Base-T
vmnic2 0000:003:00.0 bnx2 Down 0 Half a4:ae:aa:ab:aa:37 1500 Broadcom Corporation Broadcom NetXtreme II BCM5709 1000Base-T
vmnic3 0000:003:00.1 bnx2 Down 0 Half a4:ae:aa:ab:aa:39 1500 Broadcom Corporation Broadcom NetXtreme II BCM5709 1000Base-T
vmnic4 0000:045:00.0 ixgbe Up 10000 Full a0:ae:aa:ab:aa:4c 1500 Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection
vmnic5 0000:045:00.1 ixgbe Up 10000 Full a0:ae:ba:ab:aa:4d 1500 Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection
vmnic6 0000:046:00.0 ixgbe Up 10000 Full a0:ae:aa:ab:aa:e0 1500 Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection
vmnic7 0000:046:00.1 ixgbe Up 10000 Full a0:ae:aa:ab:aa:e1 1500 Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection

Install NetApp plugin on ESXi host
# cd /vmfs/volumes/
# esxcli software vib install -d file://$PWD/NetAppNasPlugin.v20.zip

VAAI
On ESXi 5.x hosts, to determine if VAAI is enabled, run these commands and check if Int Value is set to 1 (enabled):

# esxcli system settings advanced list -o /DataMover/HardwareAcceleratedMove
# esxcli system settings advanced list -o /DataMover/HardwareAcceleratedInit
# esxcli system settings advanced list -o /VMFS3/HardwareAcceleratedLocking

DELL
Dell support: generate DSET file. Requires that DELL OpenManage is installed on the ESXi host
C:\Program Files (x86)\Dell\AdvDiags\DSET\bin>DellSystemInfo.exe -s 10.255.2.3 8 -u root -p password -d hw,sw -r c:\temp\dell\dset-20131115.zip

DELL OpenManage (ESXi host)
# /opt/dell/srvadmin/bin
# ./dataeng status

Tags: , , , ,

Posted by

15 Jul 2015 Using KVM as hypervisor on CentOS 7

This post describes how to use a CentOS 7 installation as hypervisor for a virtual machine running Ubuntu 14.04 LTS.

These examples is just to show the basics on getting KVM virtualization up and running and should not be put in to production before considering the added value SElinux gives.

Example 1
Since this VM is planned to be a webserver, the VM will only have access to a text console (headless) and there will not be any graphical consoles available through VGA, VNC, Spice or QXL. The VM will be connected to the default network, meaning network traffic from the VM will be NAT based through the host.

Using virt-install to create a headless VM
$ sudo virt-install -n vm-name –description “server for example.com” –os-type=Linux –os-variant=generic –ram=2048 –vcpus=1 –disk path=/var/lib/libvirt/images/vm-hhj.qcow2,bus=virtio,size=10 –graphics none –console pty,target_type=serial –location=/var/lib/libvirt/images/ubuntu-14.04.2-server-amd64.iso –extra-args=console=ttyS0,115200n8 serial –network default

To exit this console view you can use the key combination CTRL + Alt gr + 9
If you are using Putty as SSH client from Windows you can use the key combination CTRL+5 on the Norwegian, Swedish and Finnish keyboard layout.

Example 2
VM with graphical console available through SSH using port forwarding and VNC.

From your local workstation
Create a SSH tunnel from you workstation to the hypervisor server
$ ssh servername.example.com -L 5903:127.0.0.1:5903

Description of the SSH -L option
-L [bind_address:]port:host:hostport
Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.

On the hypervisor server
Create a VM with a graphical VNC console
$ sudo virt-install –graphics vnc,port=5903 –noautoconsole –network default –name TestVM –ram 2048 –vcpus=1 –disk path=/var/lib/libvirt/images/TestVM.img,size=5 –location=/var/lib/libvirt/images/ubuntu-14.04.2-server-amd64.iso -v –accelerate –noreboot

From your local workstation (while you have a active SSH session with port forwarding)
Start a VNC connection to localhost port 5903 using krdc or other VNC clients.
The VNC path would then be like
vnc://localhost:5903

Or you can test virt-viewer
$ virt-viewer –connect qemu+ssh://username@example.com/system TestVM

Create file
/etc/polkit-1/localauthority/50-local.d/50-org.example-libvirt-remote-access.pkla

[Remote libvirt SSH access]
Identity=unix-group:wheel
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes

You should now be able to install your desired operation system on your new VM.

virsh
Here is a list of useful virsh commands that might come handy when using CentOS as hypervisor.

Start VM
# virsh start vm-name

Stop VM (ACPI)
# virsh shutdown vm-name

If shutdown does not work you can try the destroy command. It is like using the power button on a physical server.
# virsh destroy vm-name

Connecting to the VM and start the installation
# virsh console vm-name

List networks
# virsh net-list

If the network is not active, start it by doing:
# virsh net-start default

List all VMs
# virsh list –all

Remove VM from list
# virsh undefine vm-name

Sources
https://snippets.webaware.com.au/howto/running-qemu-with-port-redirection-through-libvirt/
http://forum.proxmox.com/threads/21194-Port-Forward-with-built-in-NAT-and-PVE-Firewall
http://wiki.libvirt.org/page/SSHPolicyKitSetup
https://www.jethrocarr.com/2012/08/04/virt-viewer-remote-access-tricks/
https://virt-manager.org/download/

Tags: , , , , ,

Posted by

14 Jul 2015 Find package name from filename using yum

# yum provides \*/ld-linux-so.2

Tags:

Posted by