Post on 05-Feb-2016
description
Velocity Software, Inc - XIP for Linux
1
XIP (eXecute In Place) for Linux on
z/VM Implementation and Analysis
Tony@VelocitySoftware.comHTTP://VelocitySoftware.comHTTP://LinuxVM.com
Tony NotoVelocity Software196-D Castro StreetMountain View, CA 94041(650) 964-8867 Phone(650) 964-9012 Fax
November 2005
Velocity Software, Inc - XIP for Linux
2
Agenda
Implementation procedures for XIP Targeting processes / libraries Performance Analysis
Velocity Software, Inc - XIP for Linux
3
XIP Implementation Reference:
How to use Execute-in-Place Technology with Linux on z/VM (SC33-8283)
SHARE 2005 presentation 9266 by Dr. Holger Smolinski
VM Shared Kernel Support (http://www.vm.ibm.com/linux/linuxnss.html)
Watch this space for new RedBook
Two environments Flex system, z/VM 4.3, 512Meg, SLES9 31-bit service-pack 2 Z990 z/VM, 5.1, 20Gig, SLES9 64-bit service-pack2
Velocity Software, Inc - XIP for Linux
4
XIP Implementation SLES9 has an older but still valid XIP version built
in The current XIP is delivered in source as diffs
apparently need the kernel tree to compile it. Download the XIP shell scripts from
http://www.ibm.com/developerworks/linux/linux390/april2004_documentation.html
http://awlinux1.alphaworks.ibm.com/developerworks/linux390/src/xip-howto-scripts-v1.tgz
Velocity Software, Inc - XIP for Linux
5
XIP Implementation
Case 1 – z/VM 4.3 SLES9 31-bit Virtual machine size – 256M Moving NETSNMP to DCSS File specific Sharing
Velocity Software, Inc - XIP for Linux
6
The Process- This process follows, pretty closely, the procedure as defined in SC33-
8283 How to use Execute-in-Place Technology with Linux on z/VM- Download the XIP scripts into the /root directory- Shutdown the linux server: shutdown –h now
XIP Implementation
Velocity Software, Inc - XIP for Linux
7
XIP Implementation
The Process (Continued)- Define the DCSS: defseg netsnmp 20000-23fff sr
- Failed: The virtual machine didn’t have CP class E- Could have been done from some place like MAINT- Due to the amount of testing, gave the virtual machine class E
- Save the DCSS: saveseg netsnmp- Failed: The virtual machine size wasn’t large enough- Increased virtual storage: def stor 1024m- This causes a “system reset” so re-ipled CMS then re-issued the saveseg netsnmp- Side effect: PAGE space utilization shot way up
- Reboot LINUX
Velocity Software, Inc - XIP for Linux
8
XIP Implementation
Process (continued)- Build the list of files for overmounting: xip-howto-scripts/copylibs.sh –f snmpd –d
/dcss- Calculate the required DCSS space: du –sk /dcss
- This was actually done prior to creating the DCSS
- Determine the number of files that are going into the DCSS: find /dcss –print | wc -l- This was done to obtain overhead - approximately 4k per file- Guess what … it all fit in 64 meg
- Copy the init script to /sbin: cp /root/xip-howto-scripts/xipinit-fw.sh /sbin/xipinit –fw
- This test was for “file sharing” so we used the xipinit-fw.sh script instead of xipinit.sh script
- Alter the xipinit-fw.sh script to point to the mount point and recognize the DCSS name- Vi /sbin/xipinit-fw- #mount point of xipimage- MPXIPIMAGE=“/xip”- #name of xipimage- XIPIMAGE=“NETSNMP”
Velocity Software, Inc - XIP for Linux
9
XIP Implementation
Process (continued)- Load the DCSS driver: modprob dcssblk- Get the major number of dcssblk: cat /proc/devices- Check if devices were created: ls –l /dev/dcss*- First time through they probably aren’t so: mknod /dev/dcssblk0 b 252 0
- Do this for each “device” you want within the DCSS
- Load the DCSS: echo “NETSNMP” > /sys/devices/dcssblk/add- This failed because the memory was not adjusted to encompass the DCSS
- Change the zipl.conf file to define the memory: parameters = “root=/dev/dasda1 selinux=0 TERM=dump elevator=cfg mem=576M”
- Danger Will Robinson!!- Encountered trouble with mem=2G, so used mem=2047M
- Reboot Linux
Velocity Software, Inc - XIP for Linux
10
XIP Implementation
Process (continued)- Load the DCSS driver: modprob dcssblk- Load the DCSS: echo ‘NETSNMP” > /sys/devices/dcssblk/add
- Results are echoed onto the virtual console
- Set the DCSS for exclusive use: echo 0 > /sys/devices/dcssblk/NETSNMP/shared- Put the ext2 file system on a DCSS mapped device: mke2fs –b 4096
/dev/dcssblk0- Mount the device: mount /dev/dcssblk0 /mnt- Copy the files: cp –va /dcss/* /mnt- Save the DCSS: echo 1 > /sys/devices/dcssblk/NETSNMP/save- Unmount the DCSS: umount /mnt
- This is required to finalize the save of the DCSS
- Remove the DCSS: echo “NETSNMP” > /sys/devices/dcssblk/remove
Velocity Software, Inc - XIP for Linux
11
XIP Implementation
Process (continued)- Change kernel parms (zipl.conf) to init XIP.
- parameters = "root=/dev/dasda1 selinux=0 TERM=dumb elevator=cfq mem=576M init=/sbin/xipinit-fw"
- Shutdown Linux: shutdown –h now- Redefine virtual storage if necessary- Reboot LINUX
Velocity Software, Inc - XIP for Linux
12
Targeting
Identify large processesIdentify frequently used processesEliminate non-shareable processes
Velocity Software, Inc - XIP for Linux
13
Targeting Storage Processes
Velocity Software, Inc - XIP for Linux
14
Targeting Storage Processes
Velocity Software, Inc - XIP for Linux
15
Targeting Frequent Processes
Velocity Software, Inc - XIP for Linux
16
Targeting Frequent Processes
Velocity Software, Inc - XIP for Linux
17
LINUX Evaluation
Establish Base- Two Suse servers
- Each defined as 256M
- Base is no DCSS sharing
Velocity Software, Inc - XIP for Linux
18
LINUX Evaluation
Test 1- Two SUSE servers
- Each defined as 256M
- SUSELNX1 has a 16M DCSS at the 1.5G mark, mem=1556M
- SUSELNX2 has no DCSS
- Note Storage usage
Velocity Software, Inc - XIP for Linux
19
LINUX Evaluation
Test 2- Two Suse servers
- Each defined as 256M
- Each has a 16M DCSS at the 1.5G mark, mem=1556M
- Note Storage usage
Velocity Software, Inc - XIP for Linux
20
LINUX Evaluation
Test 3- Two Suse servers
- Each defined as 256M
- Each has a 16M DCSS at the 1G mark, mem=1040M
- Note Storage usage
Velocity Software, Inc - XIP for Linux
21
LINUX Evaluation
Test 4- Two Suse servers
- Each defined as 256M
- Each has a 16M DCSS at the 256M mark, mem=272M
- Note Storage usage
Velocity Software, Inc - XIP for Linux
22
LINUX Evaluation
Back to base- Note Storage usage as compared to “TEST 4”
Velocity Software, Inc - XIP for Linux
23
z/VM Evaluation
VM Storage- Note resident pages as well as working set
Velocity Software, Inc - XIP for Linux
24
z/VM Evaluation
VM Storage- Note resident pages as well as working set
Velocity Software, Inc - XIP for Linux
25
More Testing
Case 2 – z/VM 5.1 SLES9 64-bit Virtual machine size – 2G DCSS defined in “storage hole” Moving 512M of Oracle 10g to DCSS Directory Sharing Results NYA (Watch for upcoming REDBOOK)
Velocity Software, Inc - XIP for Linux
26
Summary
Reduction in system storage requirements Increase in LINUX system storagepotential reduction in pagingReduction in disk space (DASD to us VMers)Benefits are best realized in installations
running many instances of LINUX with “common” functionality