Friday Jun 29, 2012

My own personal use of Oracle Linux

It always is easier to explain something with examples... Many people still don't seem to understand some of the convenient things around using Oracle Linux and since I personally (surprise!) use it at home, let me give you an idea.

I have quite a few servers at home and I also have 2 hosted servers with a hosted provider. The servers at home I use mostly to play with random Linux related things, or with Oracle VM or just try out various new Oracle products to learn more. I like the technology, it's like a hobby really. To be able to have a good installation experience and use an officially certified Linux distribution and not waste time trying to find the right libraries, I, of course, use Oracle Linux. Now, at least I can get a copy of Oracle Linux for free (even if I was not working for Oracle) and I can/could use that on as many servers at home (or at my company if I worked elsewhere) for testing, development and production. I just go to http://edelivery.oracle.com/linux and download the version(s) I want and off I go.

Now, I also have the right (and not because I am an employee) to take those images and put them on my own server and give them to someone else, I in fact, just recently set up my own mirror on my own hosted server. I don't have to remove oracle-logos, I don't have to rebuild the ISO images, I don't have to recompile anything, I can just put the whole binary distribution on my own server without contract. Perfectly free to do so. Of course the source code of all of this is there, I have a copy of the UEK code at home, just cloned from https://oss.oracle.com/git/?p=linux-2.6-unbreakable.git. And as you can see, the entire changelog, checkins, merges from Linus's tree, complete overview of everything that got changed from kernel to kernel, from patch to patch, errata to errata. No obfuscating, no tar balls and spending time with diff, or go read bug reports to find out what changed (seems silly to me).

Some of my servers are on the external network and I need to be current with security errata, but guess what, no problem, my servers are hooked up to http://public-yum.oracle.com which is open, free, and completely up to date, in a consistent, reliable way with any errata, security or bugfix. So I have nothing to worry about. Also, not because I am an employee. Anyone can. And, with this, I also can, and have, set up my own mirror site that hosts these RPMs. both binary and source rpms. Because I am free to get them and distribute them. I am quite capable of supporting my servers on my own, so I don't need to rely on the support organization so I don't need to have a support subscription :-). So I don't need to pay. Neither would you, at least not with Oracle Linux.

Another cool thing. The hosted servers came (unfortunately) with Centos installed. While Centos works just fine as is, I tend to prefer to be current with my security errata(reliably) and I prefer to just maintain one yum repository instead of 2, I converted them over to Oracle Linux as well (in place) so they happily receive and use the exact same RPMs. Since Oracle Linux is exactly the same from a user/application point of view as RHEL, including files like /etc/redhat-release and no changes from .el. to .centos. I know I have nothing to worry about installing one of the RHEL applications. So, OL everywhere makes my life a lot easier and why not...

Next! Since I run Oracle VM and I have -tons- of VM's on my machines, in some cases on my big WOPR box I have 15-20 VMs running. Well, no problem, OL is free and I don't have to worry about counting the number of VMs, whether it's 1, or 4, or more than 10 ... like some other alternatives started doing...

and finally :) I like to try out new stuff, not 3 year old stuff. So with UEK2 as part of OL6 (and 6.3 in particular) I can play with a 3.0.x based kernel and it just installs and runs perfectly clean with OL6, so quite current stuff in an environment that I know works, no need to toy around with an unsupported pre-alpha upstream distribution with libraries and versions that are not compatible with production software (I have nothing against ubuntu or fedora or opensuse... just not what I can rely on or use for what I need, and I don't need a desktop).

pretty compelling. I say... and again, it doesn't matter that I work for Oracle, if I was working elsewhere, or not at all, all of the above would still apply. Student, teacher, developer, whatever. contrast this with $349 for 2 sockets and oneguest and selfsupport per year to even just get the software bits.

Wednesday Jun 27, 2012

Oracle Linux 6 update 3

Oracle Linux 6.3 channels are now available online

  • http://public-yum.oracle.com repositories. Both base channels and latest channels are available (for free for everyone)
  • http://linux.oracle.com repositories. Behind our customer portal but effectively the same content.
  • Source RPMs (.srpm) are being uploaded to http://oss.oracle.com/ol6/SRPMS-updates.

    OL6.3 contains UEK2 kernel-uek-2.6.39-200.24.1. The source rpm is in the above location but our public GIT repository will be synced up shortly as well at https://oss.oracle.com/git/?p=linux-uek-2.6.39.git;a=summary. Unlike some others, of course, complete source, complete changelog, complete checkin history, both mainline and our own available. No need to go assemble things from a website manually.

    Another cool thing coming up is a boot iso for OL6.3 that boots up uek (2.6.39-200.24.1) as install kernel and uses btrfs as the default filesystem for installation. So latest and greatest direct access to btrfs, a modern well-tested, current kernel, freely available. Enjoy.

    Since it takes a few days for our ISOs to be on http://edelivery.oracle.com/linux, I mirrored them on my own server :http://mirrors.wimmekes.net/pub/OracleLinux/

    Sunday Jun 24, 2012

    Oracle VM 3.1.1 build 365 released

    A few days ago we released a patch update for Oracle VM 3.1.1 (build 365).

    Oracle VM Manager 3.1.1 Build 365 is now available from My Oracle Support patch ID 14227416

    Oracle VM Server 3.1.1 errata updates are, as usual, released on ULN in the ovm3_3.1.1_x86_64_patch channel.

    Just a reminder, when we publish errata for Oracle VM, the notifications are sent through the oraclevm-errata maillist. You can sign up here.

    Some of the bugfixes in 3.1.1 :

    14054162 - Removes unnecessary locks when creating VNICs in a multi-threaded operation.
    14111234 - Fixes the issue when discovering a virtual machine that has disks in a un-discovered repository or has un-discovered physical disks.
    14054133 - Fixes a bug of object not found where vdisks are left stale in certain multi-thread operations.
    14176607 - Fixes the issue where Oracle VM Manager would hang after a restart due to various tasks running jobs in the global context.
    14136410 - Fixes the stale lock issue on multithreaded server where object not found error happens in some rare situations.
    14186058 - Fixes the issue where Oracle VM Manager fails to discover the server or start the server after the server hardware configuration (i.e. BIOS) was modified.
    14198734 - Fixes the issue where HTTP cannot be disabled.
    14065401 - Fixes Oracle VM Manager UI time-out issue where the default value was not long enough for storage repository creation.
    14163755 - Fixes the issue when migrating a virtual machine the list of target servers (and "other servers") was not ordered by name.
    14163762 - Fixes the size of the "Edit Vlan Group" window to display all information correctly.
    14197783 - Fixes the issue that navigation tree (servers) was not ordered by name.

    I strongly suggest everyone to use this latest build and also update the server to the latest version.
    have at it.

    Sunday Jun 03, 2012

    Oracle VM RAC template - what it took

    In my previous posting I introduced the latest Oracle Real Application Cluster / Oracle VM template. I mentioned how easy it is to deploy a complete Oracle RAC cluster with Oracle VM. In fact, you don't need any prior knowledge at all to get a complete production-ready setup going.

    Here is an example... I built a 4 node RAC cluster, completely configured in just over 40 minutes - starting from import template into Oracle VM, create VMs to fully up and running Oracle RAC. And what was needed? 1 textfile with some hostnames and ip addresses and deploycluster.py.

    The setup is a 4 node cluster where each VM has 8GB of RAM and 4 vCPUs. The shared ASM storage in this case is 100GB, 5 x 20GB volumes. The VM names are racovm.0-racovm.3. The deploycluster script starts the VMs, verifies the configuration and sends the database cluster configuration info through Oracle VM Manager to the 4 node VMs. Once the VMs are up and running, the first VM starts the actual Oracle RAC setup inside and talks to the 3 other VMs. I did not log into any VM until after everything was completed. In fact, I connected to the database remotely before logging in at all.

    # ./deploycluster.py -u admin -H localhost --vms racovm.0,racovm.1,racovm.2,racovm.3 --netconfig ./netconfig.ini

    Oracle RAC OneCommand (v1.1.0) for Oracle VM - deploy cluster - (c) 2011-2012 Oracle 
    Corporation (com: 26700:v1.1.0, lib: 126247:v1.1.0, var: 1100:v1.1.0) - v2.4.3 - wopr8.wimmekes.net
    (x86_64) Invoked as root at Sat Jun 2 17:31:29 2012 (size: 37500, mtime: Wed May 16 00:13:19 2012) Using: ./deploycluster.py -u admin -H localhost --vms racovm.0,racovm.1,racovm.2,racovm.3
    --netconfig ./netconfig.ini INFO: Login password to Oracle VM Manager not supplied on command line or environment
    (DEPLOYCLUSTER_MGR_PASSWORD), prompting... Password: INFO: Attempting to connect to Oracle VM Manager... INFO: Oracle VM Client (3.1.1.305) protocol (1.8) CONNECTED (tcp) to Oracle VM Manager (3.1.1.336) protocol (1.8) IP (192.168.1.40)
    UUID (0004fb0000010000cbce8a3181569a3e) INFO: Inspecting /root/rac/deploycluster/netconfig.ini for number of nodes defined... INFO: Detected 4 nodes in: /root/rac/deploycluster/netconfig.ini INFO: Located a total of (4) VMs; 4 VMs with a simple name of: ['racovm.0', 'racovm.1', 'racovm.2', 'racovm.3'] INFO: Verifying all (4) VMs are in Running state INFO: VM with a simple name of "racovm.0" is in a Stopped state, attempting to start it...
    OK. INFO: VM with a simple name of "racovm.1" is in a Stopped state, attempting to start it...
    OK. INFO: VM with a simple name of "racovm.2" is in a Stopped state, attempting to start it...
    OK. INFO: VM with a simple name of "racovm.3" is in a Stopped state, attempting to start it...
    OK. INFO: Detected that all (4) VMs specified on command have (5) common shared disks between
    them (ASM_MIN_DISKS=5) INFO: The (4) VMs passed basic sanity checks and in Running state, sending cluster details
    as follows: netconfig.ini (Network setup): /root/rac/deploycluster/netconfig.ini buildcluster: yes INFO: Starting to send cluster details to all (4) VM(s)....... INFO: Sending to VM with a simple name of "racovm.0".... INFO: Sending to VM with a simple name of "racovm.1"..... INFO: Sending to VM with a simple name of "racovm.2"..... INFO: Sending to VM with a simple name of "racovm.3"...... INFO: Cluster details sent to (4) VMs... Check log (default location /u01/racovm/buildcluster.log) on build VM (racovm.0)... INFO: deploycluster.py completed successfully at 17:32:02 in 33.2 seconds (00m:33s) Logfile at: /root/rac/deploycluster/deploycluster2.log
    my netconfig.ini
    # Node specific information
    NODE1=db11rac1
    NODE1VIP=db11rac1-vip
    NODE1PRIV=db11rac1-priv
    NODE1IP=192.168.1.56
    NODE1VIPIP=192.168.1.65
    NODE1PRIVIP=192.168.2.2
    NODE2=db11rac2
    NODE2VIP=db11rac2-vip
    NODE2PRIV=db11rac2-priv
    NODE2IP=192.168.1.58
    NODE2VIPIP=192.168.1.66
    NODE2PRIVIP=192.168.2.3
    NODE3=db11rac3
    NODE3VIP=db11rac3-vip
    NODE3PRIV=db11rac3-priv
    NODE3IP=192.168.1.173
    NODE3VIPIP=192.168.1.174
    NODE3PRIVIP=192.168.2.4
    NODE4=db11rac4
    NODE4VIP=db11rac4-vip
    NODE4PRIV=db11rac4-priv
    NODE4IP=192.168.1.175
    NODE4VIPIP=192.168.1.176
    NODE4PRIVIP=192.168.2.5
    # Common data
    PUBADAP=eth0
    PUBMASK=255.255.255.0
    PUBGW=192.168.1.1
    PRIVADAP=eth1
    PRIVMASK=255.255.255.0
    RACCLUSTERNAME=raccluster
    DOMAINNAME=wimmekes.net
    DNSIP=
    # Device used to transfer network information to second node
    # in interview mode
    NETCONFIG_DEV=/dev/xvdc
    # 11gR2 specific data
    SCANNAME=db11vip
    SCANIP=192.168.1.57
    

    last few lines of the in-VM log file :

    2012-06-02 14:01:40:[clusterstate:Time :db11rac1] Completed successfully in 2 seconds 
    (0h:00m:02s) 2012-06-02 14:01:40:[buildcluster:Done :db11rac1] Build 11gR2 RAC Cluster 2012-06-02 14:01:40:[buildcluster:Time :db11rac1] Completed successfully in 1779 seconds
    (0h:29m:39s)

    From start_vm to completely configured : 29m:39s. The other 10m was the import template and create 4 VMs from template along with the shared storage configuration.

    This consists of a complete Oracle 11gR2 RAC database with ASM, CRS and the RDBMS up and running on all 4 nodes. Simply connect and use. Production ready.

    Oracle on Oracle.

    About

    Wim Coekaerts is the Senior Vice President of Linux and Virtualization Engineering for Oracle. He is responsible for Oracle's complete desktop to data center virtualization product line and the Oracle Linux support program.

    You can follow him on Twitter at @wimcoekaerts

    Search

    Categories
    Archives
    « June 2012 »
    SunMonTueWedThuFriSat
         
    1
    2
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    25
    26
    28
    30
           
    Today