Solaris
Why to use Solaris10+є (e.g. for AFS file server)
September 2009
Mathias Feiler Universität Hohenheim
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 1 Speed up
For faster walk through
You may want to
follow the (approx. 35) tagged slices only
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 2 Why to use Solaris 10+є ?
● Solaris on Sparc is rather solid – We don't use to boot each year – HW and software provided by same company ● Development can stay more focused in limited HW options ● Iimho. the most innovative U*.*X at present – Zfs (the only contemporary disk file system) – Zones (a very effective way of virtualization) – SMF (faster boot , better normalized management) – Some more I don't use (too much) ● FMA, Dtrace, Role Based Access(RBAC), ...
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 3 Solaris
>>> SMF
ZFS
Zones
Solaris + AFS
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 4 Known Issues
● Service dependency is hell. Isn't it ? – Not solved by RCorder numbers:/etc/rc?.d/SNNxxx ● Works in serial and thus rather slow ● No real knowledge of dependencies – just “sooner or later” ● Is it possible to unify management somewhat? ● w/o fiddling the link names and rcfiles ● What if a service dies in middle of day? ● Restart service? Reboot system? – Initd cares halfhearted , but rc does not at all ● What to do with dependent tasks ? – Guess why AFSBOS was introduced ● Can't a machine come up faster?
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 5 What is SMF
● Service Management Facility – Part of “Predictive SelfHealing” ● “Fault Management Architecture” (FMA) is an other one. – A method to describe, handle and monitor a service – Much more powerful than inittab, runlevel and the /etc/rc?.d mechanism – LiteSQL database aided
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 6 What is SMF doing
● Outperforms / replaces runlevel & /etc/rc?.d ● Populates database from file (profile & manifest) ● Keep track of maintained services (Nanny) ● Provides helpful assistance for management ● Works in parallel as far as possible
Think of a booting machine as defective since expected functionality is not given. A healing mechanism (smf) detects the issue and tries to repair it honouring dependencies.
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 7 SMF first touch
● /etc/rc?.d is alarming empty ● Did the installation really succeed ? ● No /etc/rc3.d/S89sshd but its running anyway – Who started it – and how – and why ?
● /etc/inittab is incredibly melt down ● Where had all the runlevel been gone to?
● I kill a daemon but something strikes back ● It is restarted immediately
● How can I stop this dirty service I don't like ? ● except of shut down the machine
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 8 My first expirience with SMF
● Remote (SSH) tuning of /etc/ssh/sshd_config > # Take care ! Don't saw the limb you are sitting on! > ps ef | grep "[Rr]oot.* 1 .*sshd" | cut c915 123 > kill 123 > /usr/lib/ssh/sshd ; tail /var/adm/messages ... sshd 2345 ... error: Bind to port 22 on :: failed: ... > # Hell, it won't die – try harder > kill 9 123 kill: (123) No such process > # ??! Ok, obviously meanwhile it died > /usr/lib/ssh/sshd ; tail /var/adm/messages ... sshd 2356 ... error: Bind to port 22 on :: failed: ... > # ? ... ??? ... Something is bloody strange .. ??? > ps ef | grep "[Rr]oot.* 1 .*sshd" Root 2340 1 0 13:45:16 ? 0:00 /usr/lib/ssh/sshd
● HEY! Some one is doing my job w/o asking me – and even faster
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 9 SMF components
● svc.startd – The SMF core started by initd ● svc.configd – databaseinterface & management ● LiteSQL – Database to handle all the knowledge ● Manifest – A full service description (XML) ● Also contains default properties and values, methods,... ● Method file – similar to the old RCfile ● Program (or scripts) to start / restart / stop services ● Use of contractfs ● A kernel fs for maintaining process”families” ● Administrative commands (see below)
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 10 SMF terminology
● FMRI ● The URI of SMF & FMA (see below) ● Service ● A big polymorphic object SMF is working with ● Milestone ● Used in a similar way like the old runlevel : “nameservice:default” , “devices:default” , “singleuser:default” , “multiuser:default” , “multiuserserver:default” ● Properties ● Initially created on behave of manifest ● Stored in DB, can hold all sort of adjustments ●
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 11 How SMF comes in?
Kernel initd inittab LiteSQL SMF configuration Contractfs repository svc.startd(1M) svc.confd
svc:/application/print/server
delegated restarter delegated restarter svc:/system/cron ... svc:/network/inetd svc:/network/openafs/server:bos
svc:network/ftp svc:/network/login:rlogin ...
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 12 FMRI the naming scheme
● Fault Management Resource Identifier ● URI used by “Predictive Selfhealing” ● Which SMF is part of ● Describes all sort of system objects ● services (svc) , devices(dev) , packages(pkg), memory(mem) , diagnostic engine(fmd), .... ● In general: fmrischeme://[authority]/path ● Example of a SMFFMRI: svc:/network/ssh:default usually parts of FMRI can be omitted e.g.: network/ssh
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 13 What is a service in terms of SMF?
From Sun admin sudent guide (SA225S10) :
... “A service is an entity which provides a known list of capabilities to other local and remote services. Services are represented as instance nodes which are children of service nodes ... One service might have many instances. ...Both...can have properties...“
In my words: A abstract bunch of all the parts you need to describe + maintain + yield function.
Other, more formal, definition are available on the net
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 14 SMFadministrativ commands > svcs – Monitoring of SMF ● Dependence , dependencies , problems , further hints > svcadm ● Switch on/off service , set tgtmilestone (confer runlevel) > svccfg ● Database and file centric management , properties, manifest,... > svcprop ● Print properties e.g. used by scripts to learn options > inetadm ● Management of the delegated restareter “inetd”
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 15 > svcs
> svcs a STATE STIME FMRI legacy_run Sep_14 lrc:/etc/rcS_d/S29wrsmcfg legacy_run Sep_14 lrc:/etc/rc2_d/S10lu ... disabled Sep_14 svc:/network/iscsi_initiator:default disabled Sep_14 svc:/network/smtp:sendmail ... online Sep_14 svc:/milestone/multiuserserver:default online Sep_14 svc:/network/openafs/client:default ... offline 21:21:03 svc:/application/print/rfc1179:default
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 16 > svcadm + svcs
> svcadm enable svc:/application/print/rfc1179:default > svcs xv svc:/application/print/server:default (LP print server) State: disabled since 14 September 2009 11:13:34 CEST Reason: Disabled by an administrator. See: http://sun.com/msg/SMF800005 See: man M /usr/share/man s 1M lpsched Impact: 1 dependent service is not running: svc:/application/print/rfc1179:default > svcs l svc:/application/print/rfc1179:default fmri svc:/application/print/rfc1179:default name BSD print protocol adapter enabled true state offline next_state none state_time 24 September 2009 21:21:03 CEST restarter svc:/network/inetd:default dependency require_all/refresh svc:/application/print/server (disabled) > svcadm disable svc:/application/print/rfc1179:default > svcs x
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 17 > svcs dependencies
> # the D shows what services or milestone bank on this on > svcs D svc:/application/print/server:default STATE STIME FMRI disabled Sep_14 svc:/application/print/ipplistener:default online Sep_14 svc:/milestone/multiuser:default offline 21:21:03 svc:/application/print/rfc1179:default
> # the d shows what is needed to run this service > svcs d svc:/application/print/server:default STATE STIME FMRI online Sep_14 svc:/system/filesystem/usr:default online Sep_14 svc:/system/identity:domain online Sep_14 svc:/system/filesystem/local:default online Sep_14 svc:/system/systemlog:default
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 18 > svcprop
>svcprop p config svc:/network/openafs/client:default config/ExtraAfsdOpts astring "" config/LegacyCfg astring "" config/Notice astring V0.1/Feiler config/SizeModel integer 3 config/afsdb boolean true config/backuptree boolean true config/blocks astring "" config/cachedir astring "" config/confdir astring "" config/dynroot boolean false config/fakestat boolean true config/fakestatall boolean false config/memcache boolean false config/mountdir astring "" config/rootvol astring root.afs.readonly config/ThisCell astring unihohenheim.de ....
> svcprop p config/ThisCell openafs/client unihohenheim.de
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 19 Modify properties
– Set a singe value > svccfg -s openafs/client setprop config/SizeModel = 3 – Delete a propertyvalue > svccfg -s openafs/client delpropval config/LegacyCfg \*
– Delete a property > svccfg -s openafs/client delprop config/LegacyCfg – Stdout of methode shall make it to the log file > svccfg -s openafs/client set -v – Force changes to become effective > svcadm -v refresh openafs/client
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 20 SMF:Manifest Example 1
.
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 21 SMF:Manifest Example 2
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 22 SMF:Manifest Example 3
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 23 You might think now..
● Why for heaven's sake a “registry” for Solaris ? How else to keep track of and manage dependencies? ● Why on earth XML ? It is oblong yes, but it has also DTD's1) which helps a lot ● Cant it be made more easy, native , evident ? SMF is just a part of a hole structure design. You surely want to have a (and keep) a unified way to talk with it. ● How to switch off the beast ? Recreate the RCfiles, refill inittab , disable most of the smf services , recompile.... – stop, no, don't do it !
1) DTD = document type definition = what is where allowed/required
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 24 Why not to switch off SMF?
● Automated fault detection and repair – usually w/o boring You. – Even dependent services are considered. ● All get logged but does not flood screen ● boot works in parallel most of the way ● Switching on/off a service persistently is easy svcadm disable ssh ; svcadm enable ssh ● It is aware of Solaris RBAC. – SMFtasks can be delegated ● Configuration roll back possible (DBsnapshot) ● ....
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 25 Solaris
SMF
>>> ZFS
Zones
Solaris + AFS
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 26 What is ZFS
● Zeta File system (not “Zetta”=10²¹ or Zebi=270
● New file system implementation of Sun – Full dynamical file system – Reminds to MMU in terms of RAM
● Like file system + volume managaer – e.g UFS + SVM or VxFS + VxVM ... – However much better than that
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 27 ZFS big picture
Operating system / Application
7 ZFSdatasets Zfs aZfs Zfs bZfs Zfs1Zfs Zfs2Zfs (~Filesystems) Zfs cZfs Zfs XZfs Zfs3Zfs
2 Zpools
2.3t 1t 1t 0.3t 4 Block 2t USB 2 striped disks storage Mirrored with a partition devices
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 28 Layer overview
Taken from I don't know where on the Internet seams to be property of Sun microsystems
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 29 Problems of common file systems
● Data corruption is always possible – Journalling helps much , but by far not all ● Often does not cover payload data blocks ● Focus poor problems: power outage , system crash – Reread is important (disk firmware?) but takes time – check sums are usually somewhat week ● Said to detect typically only 2⁸ 1 of 2 ⁸ failure ● Covers data on disk but not data on the run ● Fsck – Assumes faults to occur on system start only – Usually not designed to work while in service – On larger FS it can take ages while not in service
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 30 Problems of common FS / .*VM
● No much optimization possible – Volume manager does not know data structure ● Trouble with write optimization and error detection ● Suitable compression is rather difficult – File system does not know about mirror ● Trouble with error correction using mirror ● (Brain based) human intervention required
● inconvenient & time consuming administration get PV's , build PVG's holding PE's of each PV create LV's by LE's using of PE's of different PVG's, get FS on LVPartition, configure vfstab, tread boot parti. – did I miss something of the nightmare?
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 31 Some ZFS design goals
● Administration – easy and evident ● No config file at all , only 2 commands ● Pooled storage ● File system “knows” of its multiple disks ● Hierarchical space distribution + inherited parameter ● Treat disk space dynamically, almost like RAM ● End to end data integrity ● Reasonable check sum for every block/file ● Automatically access mirror disk + self healing ● Transactions only ● No fsck at all , scrubbing is possible while on line ● Get better performance , less downtime
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 32 ZFS and the future
● The only 128 Bit file system I know – Max file system size 2¹²⁸ ( 2 ⁶⁴ by Posix API limit) ● UFS can do 2⁴⁴ 2 ⁷³ Byte ( = 16 TiB8ZiB )
● Easy Migration of ZFS – To different machines – To different architecture – NFS ready/compliant – ISCSI ready/prepared
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 33 ZFS data migration
● ZFS open eggs either way ¹⁾ ● ZFS interprets either endian (e.g. like TIFF) ● Writes in host byte order ● Thus you can cross mount w/o problems for ZFS ● ZFS stores all management info along with data ● Label , device path , mount point , NFSshare,... ● One central point to manage ZFS (in ZFS) ● ZFS converges even on change of disk device file – e.g. when moved to a different controler / system ● Diskmig: zfs export ,
1) Jonatah Swift: Guliver's travel : Likiput vs. Blefuscu
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 34 ZFS and storage
● ZFS accepts (loves cheep) blockdevices ● disk , partition , usbstick , .... and files ● no partitioning needed when on hole disk ● You can set mirroring posthumous ● Dynamically spend datasets (ZFS) when needed – Think in terms of work flow and logical grouping ● Stop thinking in terms of bytes and partition – Much like AFS volumes ● No fragmentation, no garbage , no waste. ● Error handling works coordinated on all layers – Self healing is possible easily
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 35 Common Volume/FS Modell
1. Read fails 2a. Wrong meta data : 2a. Wrong user data : FS driver got troubled ! App got troubled ! Perform system crash ? Calculation reliable ? Elect George W. Bush? Application Application Application
FS FS FS
*xVM *xVM *xVM
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 36 ZFS and self healing
1. Read fails 2. ZFS reads mirror 3. App gets good data due to false detection by and CRC check sum test ZFS fixes bad blocks
Application Application Application
ZFS mirror ZFS mirror ZFS mirror
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 37 ZFS uses copy on write
● Basically well known from AFS ● ZFS introduces the “Uberblocks” ● 128 in cyclic use, 4 copies each, CRC and SN ensured ● Recall – Payload is written to free blocks on disk – Associated meta data is written to free blocks too ● Pointing to the newly written Payload – Now changes (transaction) get committed ● Writing new version of Uberblocks pointing at the new tree – The original data tree is still there. – Occasionally used by snapshots – Clean up if neither used nor referenced
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 38 ZFS and memory
● Per default ZFS takes all RAM but 1GB – Occasionally 1GB of RAM could be insufficient ● Virtual machines or zones (see prstat Z' ) ● Applications keen on memory ● Cache of other file systems ● Perhaps limit ZFS' s ARC – ARC = Adaptive Replacement Cache ● See : Solarisinternals Wiki – Such a limit can ● reduces swapping ● increase speed of other file systems ● Example: / etc/ system: set zfs:zfs_arc_max = 0x780000000
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 39 ZFS integrity
● Transactions ● Make use of “copy on write” + “uberblock” ● Implies no need for fsck ● Scrub can check & repair on line (using transactions) ● CRC check sum ● All data ● End to end – Not only while on disk bur also while on way ● Never trust the cat to keep the cream – Check sum is not held by the summed data itself – Check sum is held within the referring structure ● Raidz ● Raid w/o “write hole” ability ... by transactions
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 40 ZFS got also...
● Almost all works on line ● Compression on/of , Block size adjustment , stripe size adjustment , Storage modification , FSresizing,... ● Modern I/O optimization ● Pipelined I/O , priority ● multiuser prefetch – something cool for streaming people ● Snapshot and cloning ● NT and NFSv4 ACLs ● Encryption (Solaris Security Framework) ● NFS and CIFS support ● Booting from ZFS is ok now (on either endian)
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 41 ZFS conclusion
● Easy ● Just does what admin expects to ● Powerful ● Incorporates most modern concepts ● Save and secure ● Detects and repairs silent data corruptions ● Fast ● Dynamic striping, less Disk overhead , ... ● Open ● No company can wash away (like Linux) ● For free
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 42 ZFS for short
● No limits ahead (128 bit) ● Eazy administration
● No endian issue ● Integrated volume manager
● Robust (self healing ) ● Dynamic storage distribution
● Quite fast ● Scores of ZFS in zero time
● Transactions ● No vfstab / dfstab
● CRC end to end ● Quota & Reservation
● No fsck ● Snapshot & cloning
● On line compression ● NTACLs
● On line tuning /configuation ● No solid locking (SAN)
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 43 Solaris
SMF
ZFS
>>> Zones
Solaris + AFS
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 44 Introduction : Solaris Zones
● There is no modern Solaris w/o a main zone – The “global” zone is always there ● The Solaris isolation primitive – Application execution environment – Isolated process hierarchy (processtree) ● A Solaris way of virtualization (partitioning) – Changeroot environment – Got its roots in BSDJail (a decade ago) ● Advanced and improved quite a lot since then
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 45 Solaris Zone flavours
● Four main flavour available – Global zone ● System management – Sparse zone ● shares as much as possible – Branded zone (whole root zone / brandz) ● shares as less as possible ● Can hold/run other OS as well ● Logically not really to be deemed special or unique – Container ● also adds resource management to the zone concept
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 46 Solaris Global Zone
● The primary zone of the host system ● formerly: ' the system ' ● Hardware boots into the global zone ● There is exact one global zone per phy.Host ● Always called “global” ● System wide administration ● Management of all none global zones – eg. configure,install, boot, shut down, ...
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 47 Solaris Sparse Zone
● Share most of the host OS installation ● Thus sticks to the host OS and OS level ● Limited configuration ability ● Got only a few bits in private ● /etc , /var , /tmp and such – the image stays small ● IPaddress ● Share most of the kernel ● Only one dispatcher, ● Only one memory management, ● Only one driverset ● Spot on : This means only one AFSKernel module ! ● Needs minimum of system power to run
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 48 Solaris Zones – Virtualization
● Imho leanest virtualization possible – „application virtualization“ or „Light weight virtual machine“ ● Virtual Page Management & swapd ● Scheduler ● Helper App 1 App 2 Helper Helper App 1 App 2 Helper App 1 App 2 Helper OsA OsB Zone1 Zone2 OS1 OS2 Helper VMware Solaris special hardware hardware hardware Application virtualization Hardwarevirtualisierung OS Virtualization
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 49 Solaris Zone – physical view
● 23 Configuration files within the host ● A dedicated “root” file system (file set) – Prepared with some important files – Most files blend in from the Hostinstallation (RO) ● Solaris resource management framework ● A global process for management zoneadmd ● Some (710) system processes within the zone zsched /sbin/init /lib/svc/bin/svc.startd /lib/svc/bin/svc.configd /usr/lib/utmpd /usr/lib/saf/ttymon /usr/lib/saf/sac /usr/sbin/syslogd
see 'ps efZ' from within the globals zone
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 50 Sparse Zones : Pro & Contra
● Wanted – Modern most economical way of virtualization ● Avoid superfluous redundancy = minimum overhead – Easy to replicate ● To a second instance ● To a second host (with same OS) ● Traded in – closely tied to the host system ● All zones got virtually the same patch level ● All zones share most of the binaries & libraries – Patching might take significant longer. – Defining a zone is somewhat strange – ask Google
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 51 Why do I use Solaris
● Because it
– Performs well enough in terms of my spots
– Tend to solve my problems a reasonable way
– Does not bring in much of secondary problems
● e.g. no metadbpartitions for mirroring
– Make me feel comfortable
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 52 Solaris
SMF
ZFS
Zones
>>> Solaris + AFS
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 53 Solaris
What is the point in using all of that
Solaris stuff with
AFS file server
Since I talked on that last year in Graz I don't go into that too deep now
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 54 Known AFS charakteristics
● Afs favour 'many small ' over 'one huge' – design goal (see e.g. 'vos move' ) – method of load distribution ● SysID , DirtyFlag , ... (meta data) – logically belongs to the payload (vice partition) ● e.g. a SysID should tag a set of data not a host – however it is stored on a server directory ● Data and meta data can accidentally end up on different hosts ● Or can be left behind
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 55 AFS client and Solaris
● Afs cache cannot use native ZFS – Use a “zvol” (rawdataset) instead and it works just fine. (how ever this is where ufs and vfstab steps in again)
● Sparse zones share the kernel with the host – Tokens held in Kernel are virtually available on all zones. – Root personally may differ over zones – Thus take care to use pagshell when root
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 56 AFS and SMF
● Since I got a correct AFSmanifests and suitable AFSmethods it works like a charm for both, the server and client. ● Configuration is stored within SMF properties ● Optionally cacheinfo and ThisCell is written out using those propertyvalues ● afsd get options according to properties ● The logically same is true for the server side ● However some more is needed also
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 57 AFS file server + ZFS
● Compression : speed up + save storage ● Compression ratio is 1.1 ... 1.3 for user volumes ● No waste on fsck (and no salvage in my case) ● No fiddling with device files or vfstab (in order to mount partitions always and on invariant place) ● The hierarchical concept of zpools/datasets allows to have the interpreter stored along with associated payload. (e.g. Openafs / OSD)
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 58 AFS fileserver + Zones + ZFS
● Example 1: Cut one 5TiB server into 10 virtual: = 10 * (500 GiB + OpenAFS server installation) Always keep at least one instance totally empty
● Now You can ... while on service: ● Suppress all but AFS ports on the server IP address ● Update afs version of a zone (with vols moved aside) ● Convert format by vos move (e.g. common to osd) ● Test a construct on a real live server ● Starting can be designed to be parallel or unfair ● Give real server training space to novices ● Add vice partition by using a further zone
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 59 AFSfs + Zones + ZFS from SAN
● Example 2: like example 1 but also – Storage is on SAN as handled by x Zpools. – Use two machines (twins), zones are installed on both concurrently – Interpreter+config (e.g. sysid, NetInfo) is stored together with data (same zpool but different zfs) ● Now You can : ● Do some load distribution / balancing ● Recover from a host hardware crash much faster – No truble with IP, SysID, VLDB ● ....
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 60 Yes I got it running
● Yes , I got that running. ● 4 * Hardware = 2 * twins ● 20 * 2 Zones ● 20 * Zpool ● 2 * Netapp filer + 1* InfotrendEurostor raid ● ZFS mirroring anyway ● Works for more than a year now – Got one case due to a system disk outage ● Trouble in spit of using “Solaris Disk Suite” ● Affected zones started on the twin – all works fine ● 3 of 4 Server now relay on ZFS exclusively ● Test are encouraging ● The last on should follow soon Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 61 Some known issues
● ZFSNetapp issue ● Solved by using old VTOC (avoid EFILabel) ● Shut down time out problem ● Solved by tuning zonemethod (Sun learns, but slowly) ● AFS client cache & ZFS ● Solved by using zvol ● Export of wildroot zpools ( zpool-root != / ) ● Solved by introduce a further service (→ manifest example) ● No autotakeover or autostart right now ● Solved by human resources ● Which host serves a particular zone ● Patched zonemethod to write host name into zones
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 62 Other dark corners
● ARPcache time out issue on fail over
● Just flush the arptable when starting/stoping a zone ● No inherent solid locking of Zpools
● Badly needed for robust automated startup and failover ● SoftwareInstallation (e.g. Update) wants to have zones running – but is working w/o anyway
● No real problem up to now
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 63 What could come up next
● Auto / scheduled replication – Check whether customer would like it ● e.g. for web pages ● Maybe it could cool some hotspots – Present conception ● Spent a file server zone ● Initially replicate designated volumes to this zone – smaller volumes are preferred (short lock times) ● Run the following program within the zone – Check all hosted volumes for date(update)>date(release) ● Release those volumes – Sleep a few minutes – Repeat from start
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 64 abstract request
Virtualization lead to think a slightly different way ... and thus gain me to
ask again for unique vice partition IDs stored on the partition instead of have server IDs laying around on visited OS instances
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 65 Thank You
Thank You for Your kind attention
Mathias Feiler feiler@unihohenheim.de
Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 66 Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 67 Feiler@unihohenheim.de Why do I use Solaris for OpenAFS 68