Nuffnang

Monday, July 22, 2013

Sendmail

What Sendmail does:
  • Listen on network ports for mail.
  • Sort mail and deliver it locally or externally to other servers.
  • Append mail to files or pipe it through other programs.
  • Queue mail (if immediate delivery fails).
  • Convert email addresses to/from user names, or handle mailing lists.
  • Reads rules for special mail handling, so it can try to catch spam, or check for correctness.

Monday, July 15, 2013

Basics of Shell Programming


  1. To get a Linux shell, you need to start a terminal.
  2. To see what shell you have, run: echo $SHELL.
  3. In Linux, the dollar sign ($) stands for a shell variable.
  4. The ‘echo‘ command just returns whatever you type in.
  5. The pipeline instruction (|) comes to rescue, when chaining several commands.
  6. Linux commands have their own syntax, Linux won’t forgive you whatsoever is the mistakes. If you get a command wrong, you won’t flunk or damage anything, but it won’t work.
  7. #!/bin/sh – It is called shebang. It is written at the top of a shell script and it passes the instruction to the program /bin/sh.

Tuesday, July 9, 2013

Xen Server : Features Comparison


  Xen 4.0 Xen 4.1 Xen 4.2 Xen 4.3
Initial Release 7-Apr-10 25-Mar-11 17-Sep-12 2-Jul-13
Feature List     FL 4.2 FL 4.3
Release Notes RN 4.0 RN 4.1 RN 4.2 RN 4.3
Supported Mainline Architectures
IA-A32 ✓ ✓ ✓ ✓
X86-64 ✓ ✓ ✓ ✓
Itanium ✓ ✓deprecated in this release ✓deprecated  
ARM v7 + Virtualization Extensions       ✓tech preview [ 6 ]
ARM v8       ✓tech preview [ 6 ]
Guest Types
For X86 Architectures
Paravirtualised ✓ ✓ ✓ ✓
Traditional Xen PV guest
HVM Guest [ 1 ] ✓ ✓ ✓ ✓
Fully virtualised guest using hardware virtualisation extensions 
PV-on-HVM Guest [ 1 ] ✓ ✓ ✓ ✓
Fully virtualised guest using PV extensions/drivers for improved performance 
For ARM Architectures
ARM Guest       ✓tech preview [ 6 ]
Optimal combination of full virtualization and PV extensions 
Host Limits
For X86 Architectures
Physical CPUs 128 [ 0 ] >255 4095 4095
Physical RAM 1TB 5TB 5TB 16TB
For ARM Architectures
Physical CPUs       8
Physical RAM       16GB
Guest Limits
X86 PV Guest Limits
Virtual CPUs 128 >255 512 512
Virtual RAM 512GB 512GB 512GB 512GB
X86 HVM Guest Limits
Virtual CPUs 128 128 256 256
Virtual RAM 1TB 1TB 1TB 1TB
ARM Guest Limits
Virtual CPUs       8
Virtual RAM       16GB
Toolstack
Built-in
xend / xm ✓ ✓ ✓deprecated in this release ✓deprecated
XL ✓initial implementation ✓preview release ✓ ✓
Qemu based disk backend (qdisk) for XL   ✓ [ 5 ] ✓ [ 5 ] ✓ [ 5 ]
XL Open vSwitch integration       ✓tech preview [ 7 ]
3rd Party
libvirt driver for XL   ✓ ✓ ✓
Features
Advanced Memory Management
Memory Ballooning ✓ ✓ ✓ ✓
Memory Sharing ✓tech preview ✓tech preview ✓tech preview [ 3 ] ✓tech preview [ 3 ]
allow sharing of identical pages between HVM guests
Memory Paging ✓tech preview ✓tech preview ✓tech preview [ 3 ] ✓tech preview [ 3 ]
allow pages belonging to HVM guests to be paged to disk
TMEM - Transcendent Memory ✓experimental [ 2 ] ✓experimental [ 2 ] ✓experimental [ 2 ] ✓experimental [ 2 ]
Resource Management
Cpupool   ✓ ✓ ✓
advanced partitioning
Credit 2 Scheduler   ✓prototype ✓prototype ✓experimental
designed for latency-sensitive workloads and very large systems.
NUMA scheduler affinity       ✓
Scalability
1GB/2MB super page support   ✓ ✓ ✓
Deliver events to PVHVM guests using Xen event channels   ✓ ✓ ✓
Interoperability / Hardware Support
Nested Virtualisation     ✓experimental ✓experimental
Running a hypervisor inside an HVM guest
HVM PXE Stack gPXE iPXE iPXE iPXE
Physical CPU Hotplug ✓ ✓ ✓ ✓
Physical Memory Hotplug ✓ ✓ ✓ ✓
Support for PV kernels in bzImage format ✓ ✓ ✓ ✓
PCI Passthrough ✓ ✓ ✓ ✓
X86 Advanced Vector eXtension (AVX)   ✓ [ 4 ] ✓ ✓
High Availability and Fault Tolerance
Live Migration, Save & Restore ✓ ✓ ✓ ✓
Remus Fault Tolerance ✓ ✓ ✓ ✓
vMCE ? ? ✓ ✓
Forward Machine Check Exceptions to Appropriate guests
Network and Storage
Blktap2 ✓ ✓ ✓ ✓
Online resize of virtual disks ✓ ✓ ✓ ✓
Security (also see this presentation or this document)
Driver Domains ✓ ✓ ✓ ✓
Device Model Stub Domains ✓ ✓ ✓ ✓
Memaccess API   ✓ ✓ ✓
enabling integration of 3rd party security solutions into Xen virtualized environments
XSM & FLASK ✓ ✓ ✓ ✓
mandatory access control policy providing fine-grained controls over Xen domains, similar to SELinux
XSM & FLASK support for IS_PRIV       ✓
vTPM Support ✓ ✓ ✓ ✓
updates and new functionality
Tooling
gdbsx ✓ ✓ ✓ ✓
debugger to debug ELF guests
vPMU ✓ [ 4 ] ✓ [ 4 ] ✓ [ 4 ] ✓ [ 4 ]
Virtual Performance Management Unit for HVM guests
Serial console ✓ ✓ ✓ ✓Add EHCI debug support
xentrace ✓ ✓ ✓ ✓
performance analysis
Device Models and Virtual Firmware for HVM guests
For X86 Architectures
Traditional Device Model ✓ ✓ ✓ ✓
Device emulator based on Xen fork of Qemu
Qemu Upstream Device Model     ✓tech preview ✓default, unless stubdomains are used
Device emulator based on upstream Qemu
ROMBIOS ✓ ✓ ✓ ✓
BIOS used with traditional device model only
SeaBIOS     ✓ ✓
BIOS used with upstream qemu device model and XL only
OVMF/Tianocore     ✓experimental [ 4 ] ✓experimental [ 4 ]
UEFI Firmware used with upstream qemu device model and XL only
PV Bootloader support
For X86 Architectures
PyGrub support for GRUB 2 ✓ ✓ ✓ ✓
PyGrub support for /boot on ext4 ✓ ✓ ✓ ✓
pvnetboot support     ✓ ✓
Bootloader supporting network boot of PV guests

Wednesday, July 3, 2013

Fedora 19 New Features : NFStest

 NFStest provides a set of tools for testing either the NFS client or the NFS server, included tests focused mainly on testing the client.

 Test utilities package

Provides a set of tools for testing either the NFS client or the NFS server, most of the functionality is focused mainly on testing the client. These tools include the following:
  • Process command line arguments
  • Provide functionality for PASS/FAIL
  • Provide test grouping functionality
  • Provide multiple client support
  • Logging mechanism
  • Debug info control
  • Mount/Unmount control
  • Create files/directories
  • Provide mechanism to start a packet trace
  • Provide mechanism to simulate a network partition
  • Support for pNFS testing

Installation

Install the rpm as root
# rpm -i NFStest-1.0.1-1.noarch.rpm
All manual pages are available
$ man nfstest
Run tests:
$ nfstest_pnfs --help
Untar the tarball
$ cd ~
$ tar -zxvf NFStest-1.0.1.tar.gz
The tests can run without installation, just set the python path
environment variable:
$ export PYTHONPATH=~/NFStest-1.0.1
$ cd NFStest-1.0.1/test
$ ./nfstest_pnfs --help
Or install to standard python site-packages and executable directories:
$ cd ~/NFStest-1.0.1
$ sudo python setup.py install
All manual pages are available
$ man nfstest
Run tests:
$ nfstest_pnfs --help
Clone the git repository
$ cd ~
$ git clone git://git.linux-nfs.org/projects/mora/nfstest.git
The tests can run without installation, just set the python path
environment variable:
$ export PYTHONPATH=~/nfstest
$ cd nfstest/test
$ ./nfstest_pnfs --help
Or install to standard python site-packages and executable directories:
$ cd ~/nfstest
$ sudo python setup.py install
All manual pages are available
$ man nfstest
Run tests:
$ nfstest_pnfs --help

Setup

Make sure user running the tests can run commands using 'sudo' without the need for a password.
Make sure user running the tests can run commands remotely using 'ssh' without the need for a password. This is only needed for tests which require multiple clients.
Create the mount point specified by the --mtpoint (default: /mnt/t) option on all the clients:
$ sudo mkdir /mnt/t
$ sudo chmod 777 /mnt/t

Examples

nfstest_pnfs
The only required option is --server
$ nfstest_pnfs --server 192.168.0.11
nfstest_cache
Required options are --server and --client
$ nfstest_cache --server 192.168.0.11 --client 192.168.0.20
Testing with different values of --acmin and --acmax (this takes a long time)
$ nfstest_cache --server 192.168.0.11 --client 192.168.0.20 --acmin 10,20 --acmax 20,30,60,80
nfstest_delegation
The only required option is --server but only the basic delegation tests will
be run. In order to run the recall tests the --client option must be used
$ nfstest_delegation --server 192.168.0.11 --client 192.168.0.20
nfstest_dio
The only required option is --server
$ nfstest_dio --server 192.168.0.11
nfstest_posix
The only required option is --server
$ nfstest_posix --server 192.168.0.11