Oracle RAC and Docker: The Why and How

Seth Miller
Seth MillerOracle Systems Engineer at Collier IT
Oracle RAC and Docker: The Why and How
Seth Miller
Senior Principal Software Engineer
About Me
• Senior Principal Software Engineer at Veritas
• Oracle DBA since 2005
• Independent Oracle Users Group (IOUG) Board of Directors
• Twin Cities Oracle Users Group (TCOUG) Former Board of Directors
Copyright © 2016 Veritas Technologies LLC2
Download
Copyright © 2015 Symantec Corporation3
Why?
Copyright © 2015 Symantec Corporation4
Why Oracle in Containers?
• Resource reduction
–# of VMs
–Memory & disk
• Time reduction
–Provision
–Configure
Copyright © 2016 Veritas Technologies LLC5
• Storage Deduplication
–Operating system
–Oracle Binaries
Considerations
• Bleeding edge
• Lack of vendor support
–Not certified
–Off-label
–No published images
• Automation
Copyright © 2016 Veritas Technologies LLC6
NOT
FOR
PRODUCTION
…at least not yet
Contradictions
• Shared nothing architecture
• Split brain isolation
• High availability
• Full node control
• Privileged access
Copyright © 2016 Veritas Technologies LLC7
Database in container = easy
• Single container
• No privileged access
• No extra networking
• No supporting processes
Copyright © 2016 Veritas Technologies LLC8
Single Instance vs. Cluster
https://github.com/oracle/docker-
images/tree/master/OracleDatabase
Copyright © 2016 Veritas Technologies LLC9
Cluster in containers = hard
• At least 2 containers
• Privileged access
• Multiple networks
• Needs init/systemd
• Runs processes as root
Single Instance vs. Cluster
What are Containers?
• Containers are not VMs
• User space
– Host kernel
– Linux capabilities — capabilities(7)
• CHOWN, DAC_OVERRIDE, FSETID, FOWNER, MKNOD, NET_RAW, SETGID, SETUID,
SETFCAP, SETPCAP, NET_BIND_SERVICE, SYS_CHROOT, KILL, AUDIT_WRITE
• Networking
– Virtual network adapters
• Storage
– Images
– Containers
Copyright © 2016 Veritas Technologies LLC10
Containers vs VMs
11 Copyright © 2016 Veritas Technologies LLC
What are Containers?
• Containers are not VMs
• User space
– Host kernel
– Linux capabilities — capabilities(7)
• CHOWN, DAC_OVERRIDE, FSETID, FOWNER, MKNOD, NET_RAW, SETGID, SETUID,
SETFCAP, SETPCAP, NET_BIND_SERVICE, SYS_CHROOT, KILL, AUDIT_WRITE
• Networking
– Virtual network adapters
• Storage
– Images
– Containers
Copyright © 2016 Veritas Technologies LLC12
Container Process Capabilities
13 Copyright © 2016 Veritas Technologies LLC
ppid pid name command capabilities
10392 5957 root systemd full
5957 815 root init.tfa full
5957 5206 root init.ohasd full
5957 5997 root systemd-journal chown, dac_override, dac_read_search, fowner, setgid, setuid,
sys_ptrace, sys_admin, audit_control, mac_override, syslog,
wake_alarm, block_suspend, audit_read
5957 6042 root systemd-udevd full
5957 6110 root smartd full
5957 6111 81 dbus-daemon audit_write +
5957 6138 root rsyslogd full
5957 6140 root systemd-logind chown, dac_override, dac_read_search, fowner, kill, sys_admin,
sys_tty_config, audit_control, mac_admin, wake_alarm,
block_suspend, audit_read
5957 6159 root gssproxy full
5957 6265 root sshd full
5957 6276 root crond full
5957 6323 root rhnsd full
5957 6392 root ohasd.bin full
...
What are Containers?
• Containers are not VMs
• User space
– Host kernel
– Linux capabilities — capabilities(7)
• CHOWN, DAC_OVERRIDE, FSETID, FOWNER, MKNOD, NET_RAW, SETGID, SETUID,
SETFCAP, SETPCAP, NET_BIND_SERVICE, SYS_CHROOT, KILL, AUDIT_WRITE
• Networking
– Virtual network adapters
• Storage
– Images
– Containers
Copyright © 2016 Veritas Technologies LLC14
Virtual Network Adapters
15 Copyright © 2016 Veritas Technologies LLC
docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> state UP
link/ether 02:42:5d:3b:cc:3e brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 scope global docker0
...
vethd67c304@if32: <BROADCAST,MULTICAST,UP,LOWER_UP> master docker0 state UP
link/ether c6:7a:0e:0d:a3:76 brd ff:ff:ff:ff:ff:ff
...
What are Containers?
• Containers are not VMs
• User space
– Host kernel
– Linux capabilities — capabilities(7)
• CHOWN, DAC_OVERRIDE, FSETID, FOWNER, MKNOD, NET_RAW, SETGID, SETUID,
SETFCAP, SETPCAP, NET_BIND_SERVICE, SYS_CHROOT, KILL, AUDIT_WRITE
• Networking
– Virtual network adapters
• Storage
– Images
– Containers
Copyright © 2016 Veritas Technologies LLC16
Storage
17 Copyright © 2016 Veritas Technologies LLC
How?
Copyright © 2015 Symantec Corporation18
Copyright © 2016 Veritas Technologies LLC19
https://github.com/Seth-Miller/12c-rac-docker
Oracle Grid Infrastructure Networking
• 1 public network per node
– 1 public static IP per node
– 1 public virtual IP per node
– 3 public SCAN virtual IPs per cluster
– 1 public GNS virtual IP per cluster
• 1 private network per node
– 1 private static IP per node
•2 node cluster = 10 IPs
Copyright © 2016 Veritas Technologies LLC20
Static vs DHCP
DNS vs GNS
Platform - CoreOS
Copyright © 2016 Veritas Technologies LLC21
• Built for containers
• Built for cloud
• Automated
• Secure
• Lean
• Docker and rkt ready
• Preconfigured
Oracle RAC in Docker
• Host preparation
–Platform
–Storage
• Image preparation
–IPs and DNS
–Virtual Networks
–Storage
–OS
–Clusterware and database binaries
• Containers
–Volumes
–Shared memory
–Networking
–Communication
–Grid infrastructure configuration
22 Copyright © 2016 Veritas Technologies LLC
Cloud Config
23 Copyright © 2016 Veritas Technologies LLC
#cloud-config
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAA...
coreos:
units:
- name: docker.service
drop-ins:
- name: 10.docker_opts.conf
content: |
[Service]
Environment="DOCKER_OPTS=--storage-driver=devicemapper 
--storage-opt=dm.thinpooldev=/dev/mapper/docker-thinpool 
--storage-opt=dm.use_deferred_removal=true
--storage-opt=dm.basesize=25G"
Storage
• ext4 + overlayfs (previously Btrfs) by default
• Changed to xfs + direct-lvm devicemapper storage
– Uses LVM2 and thin pools
– Configured on first boot with cloud config and systemd
Copyright © 2016 Veritas Technologies LLC24
core@mycoreos ~ $ docker info
…
Storage Driver: devicemapper
Pool Name: docker-thinpool
Pool Blocksize: 524.3 kB
Base Device Size: 26.84 GB
Backing Filesystem: xfs
…
Storage
• Additional storage
– Grid infrastructure and database binaries
• Uses LVM2 and ext4 filesystems
– ASM disk devices
– Configured on first boot with cloud config and systemd
Copyright © 2016 Veritas Technologies LLC25
NAME SIZE TYPE MOUNTPOINT
sdc 100G disk
|-data-oracledata 30G lvm /oracledata
sdd 16G disk
sde 16G disk
sdf 16G disk
Oracle RAC in Docker
• Host preparation
–Platform
–Storage
• Image preparation
–IPs and DNS
–Virtual Networks
–Storage
–OS
–Clusterware and database binaries
• Containers
–Volumes
–Shared memory
–Networking
–Communication
–Grid infrastructure configuration
26 Copyright © 2016 Veritas Technologies LLC
DNS and DHCP
• BIND container for DNS
• DHCPD container for DHCP
• Dynamic DNS updates
• Only bind and dhcpd containers receive static IPs
Copyright © 2016 Veritas Technologies LLC27
core@mycoreos ~ $ dig example.com. @10.10.10.10 axfr
example.com. 86400 IN SOA example.com. root.example.com.
example.com. 86400 IN NS localhost.
rac1.example.com. 3600 IN A 10.10.10.134
rac2.example.com. 3600 IN A 10.10.10.135
...
Virtual Networks
• docker network create --subnet=10.10.10.0/24 pub
• docker network create --subnet=11.11.11.0/24 priv
Copyright © 2016 Veritas Technologies LLC28
Image Preparation
• Install packages
• Create OS users and groups
• Change OS user passwords
• Modify security limits
• Add udev rules for ASM disks
Copyright © 2016 Veritas Technologies LLC29
$ docker exec rac1 ls -l /dev/sd[d-f]
brw-rw----. 1 root oinstall 8, 48 Oct 17 16:49 /dev/sdd
brw-rw----. 1 root oinstall 8, 64 Oct 17 16:49 /dev/sde
brw-rw----. 1 root oinstall 8, 80 Oct 17 16:49 /dev/sdf
$ docker exec rac1 ls -ld /dev/asmdisks/
drwxr-xr-x. 2 root root 100 Oct 17 16:49 /dev/asmdisks/
$ docker exec rac1 ls -l /dev/asmdisks/
total 0
lrwxrwxrwx. 1 root root 6 Oct 17 16:49 asm-clu-121-DATA-disk1 -> ../sdd
lrwxrwxrwx. 1 root root 6 Oct 17 16:49 asm-clu-121-DATA-disk2 -> ../sde
lrwxrwxrwx. 1 root root 6 Oct 17 16:49 asm-clu-121-DATA-disk3 -> ../sdf
Image Preparation
• Install grid infrastructure binaries
• Install database binaries
• Commit container to a new image
Copyright © 2016 Veritas Technologies LLC30
Oracle RAC in Docker
• Host preparation
–Platform
–Storage
• Image preparation
–IPs and DNS
–Virtual Networks
–Storage
–OS
–Clusterware and database binaries
• Containers
–DNS & DHCPD
–Volumes
–Shared memory
–Networking
–Communication
–Grid infrastructure configuration
31 Copyright © 2016 Veritas Technologies LLC
Containers
32 Copyright © 2016 Veritas Technologies LLC
docker create 
--interactive 
--tty 
--name bind 
--hostname bind 
--publish 53:53/tcp 
--publish 53:53/udp 
--volume /srv/docker/bind:/data 
--env WEBMIN_ENABLED=false 
sethmiller/bind 
-4
Create the BIND container
docker network connect 
--ip 10.10.10.10 pub 
bind
docker start bind
Containers
33 Copyright © 2016 Veritas Technologies LLC
docker create 
--interactive 
--tty 
--name dhcpd 
--hostname dhcpd 
--volume /srv/docker/dhcpd:/data 
--volume /srv/docker/bind/bind/etc:/keys 
--dns 10.10.10.10 
networkboot/dhcpd
docker network connect --ip 10.10.10.11 pub dhcpd
docker network connect --ip 11.11.11.11 priv dhcpd
docker start dhcpd
Create the DHCPD container
Containers
34 Copyright © 2016 Veritas Technologies LLC
docker run 
--detach 
--privileged 
--name rac1 
--hostname rac1 
--volume /oracledata/stage:/stage 
--volume /sys/fs/cgroup:/sys/fs/cgroup:ro 
--dns 10.10.10.10 
--shm-size 2048m 
giinstalled 
/usr/lib/systemd/systemd --system --unit=multi-user.target
Create the RAC node container
Docker Networks
35 Copyright © 2016 Veritas Technologies LLC
$ docker network ls
NETWORK ID NAME DRIVER
4ee6f9eb3bf0 bridge bridge
8bc52205f018 host host
eb82d0dad5c6 none null
60e3892778b4 priv bridge
21319f974244 pub bridge
Containers
36 Copyright © 2016 Veritas Technologies LLC
ip link add name rac1-pub type veth peer name eth-pub
ip link set rac1-pub master <docker ‘pub’ network>
ip link set rac1-pub up
ip link set eth-pub netns <rac1 namespace PID>
ip netns exec <rac1 namespace PID> ip link set eth-pub up
ip link add name rac1-priv type veth peer name eth-priv
ip link set rac1-priv master <docker ‘priv’ network>
ip link set rac1-priv up
ip link set eth-priv netns <rac1 namespace PID>
ip netns exec <rac1 namespace PID> ip link set eth-priv up
Add the additional virtual
network adapters
Legend
Host level
Container level
Containers
37 Copyright © 2016 Veritas Technologies LLC
[Service]
ExecStart=dhclient -d -H rac1 
-pf /var/run/dhclient-eth-pub.pid eth-pub
ExecStop=dhclient -x eth-pub
[Service]
ExecStart=dhclient -d -H rac1-priv 
-pf /var/run/dhclient-eth-priv.pid eth-priv
ExecStop=dhclient -x eth-priv
Create dhcp systemd services
Containers
38 Copyright © 2016 Veritas Technologies LLC
docker exec rac1 systemctl start dhclient-rac1-eth-pub.service
docker exec rac1 systemctl start dhclient-rac1-eth-priv.service
Start dhcp systemd services
Containers
39 Copyright © 2016 Veritas Technologies LLC
docker run 
--detach 
--privileged 
--name rac2 
--hostname rac2 
--volume /oracledata/stage:/stage 
--volume /sys/fs/cgroup:/sys/fs/cgroup:ro 
--dns 10.10.10.10 
--shm-size 2048m 
giinstalled 
/usr/lib/systemd/systemd --system --unit=multi-user.target
sudo /srv/docker/scripts/networks-rac2.sh
Create the second RAC node
container
Configure Grid Infrastructure
• Establish cluster communication
• Start clusterware processes
• Set up GNS
• Assign IPs
• Set up ASM and create first disk group
• Set up SCAN and local listeners
• Set up Grid Infrastructure Management Repository (GIMR) (optional)
Copyright © 2016 Veritas Technologies LLC41
Create Database
42 Copyright © 2016 Veritas Technologies LLC
docker exec rac1 su - oracle -c ' 
/u01/app/oracle/product/12.1.0/dbhome_1/bin/dbca -createDatabase -silent 
-templateName General_Purpose.dbc 
-gdbName orcl 
-sysPassword <sys password> 
-systemPassword <system password> 
-storageType ASM 
-diskGroupName DATA 
-recoveryGroupName DATA 
-characterSet AL32UTF8 
-nationalCharacterSet UTF8 
-totalMemory 1024 
-emConfiguration none 
-nodelist rac1,rac2 
-createAsContainerDatabase True'
Future Plans
• Fully Automated
• Kubernetes
• Support NFS files for ASM (ganesha NFS)
• Run RAC nodes non-privileged
• Lean out RAC node images
• Install fests (RAC Attack)
Copyright © 2016 Veritas Technologies LLC43
Thank you!
Seth Miller
sethmiller.sm@gmail.com
github.com/Seth-Miller/12c-rac-docker
1 of 43

Recommended

Dell Emc Ready Bundle for Red Hat OpenStack Platform by
Dell Emc Ready Bundle for Red Hat OpenStack PlatformDell Emc Ready Bundle for Red Hat OpenStack Platform
Dell Emc Ready Bundle for Red Hat OpenStack PlatformCaio Candido
419 views53 slides
New Ceph capabilities and Reference Architectures by
New Ceph capabilities and Reference ArchitecturesNew Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference ArchitecturesKamesh Pemmaraju
5.1K views40 slides
Ceph Intro and Architectural Overview by Ross Turk by
Ceph Intro and Architectural Overview by Ross TurkCeph Intro and Architectural Overview by Ross Turk
Ceph Intro and Architectural Overview by Ross Turkbuildacloud
18.6K views77 slides
Presentation linux on power by
Presentation   linux on powerPresentation   linux on power
Presentation linux on powersolarisyougood
3.6K views90 slides
Red Hat Storage Day Boston - OpenStack + Ceph Storage by
Red Hat Storage Day Boston - OpenStack + Ceph StorageRed Hat Storage Day Boston - OpenStack + Ceph Storage
Red Hat Storage Day Boston - OpenStack + Ceph StorageRed_Hat_Storage
1K views28 slides
Red Hat Storage Day New York - QCT: Avoid the mess, deploy with a validated s... by
Red Hat Storage Day New York - QCT: Avoid the mess, deploy with a validated s...Red Hat Storage Day New York - QCT: Avoid the mess, deploy with a validated s...
Red Hat Storage Day New York - QCT: Avoid the mess, deploy with a validated s...Red_Hat_Storage
766 views28 slides

More Related Content

What's hot

QCT Fact Sheet-English by
QCT Fact Sheet-EnglishQCT Fact Sheet-English
QCT Fact Sheet-EnglishPeggy Ho
230 views4 slides
Rh436 pdf by
Rh436 pdfRh436 pdf
Rh436 pdfRanjeet Kumar Azad
9.7K views357 slides
My personal journey through the World of Open Source! How What Was Old Beco... by
My personal journey through  the World of Open Source!  How What Was Old Beco...My personal journey through  the World of Open Source!  How What Was Old Beco...
My personal journey through the World of Open Source! How What Was Old Beco...Ceph Community
96 views33 slides
Oracle Database on Docker by
Oracle Database on DockerOracle Database on Docker
Oracle Database on DockerFranck Pachot
1.3K views34 slides
librados by
libradoslibrados
libradosPatrick McGarry
1.4K views26 slides
Red Hat Storage Day New York - What's New in Red Hat Ceph Storage by
Red Hat Storage Day New York - What's New in Red Hat Ceph StorageRed Hat Storage Day New York - What's New in Red Hat Ceph Storage
Red Hat Storage Day New York - What's New in Red Hat Ceph StorageRed_Hat_Storage
2.1K views32 slides

What's hot(20)

QCT Fact Sheet-English by Peggy Ho
QCT Fact Sheet-EnglishQCT Fact Sheet-English
QCT Fact Sheet-English
Peggy Ho230 views
My personal journey through the World of Open Source! How What Was Old Beco... by Ceph Community
My personal journey through  the World of Open Source!  How What Was Old Beco...My personal journey through  the World of Open Source!  How What Was Old Beco...
My personal journey through the World of Open Source! How What Was Old Beco...
Ceph Community 96 views
Oracle Database on Docker by Franck Pachot
Oracle Database on DockerOracle Database on Docker
Oracle Database on Docker
Franck Pachot1.3K views
Red Hat Storage Day New York - What's New in Red Hat Ceph Storage by Red_Hat_Storage
Red Hat Storage Day New York - What's New in Red Hat Ceph StorageRed Hat Storage Day New York - What's New in Red Hat Ceph Storage
Red Hat Storage Day New York - What's New in Red Hat Ceph Storage
Red_Hat_Storage2.1K views
[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the... by OpenStack Korea Community
[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...
[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...
Operate your hadoop cluster like a high eff goldmine by DataWorks Summit
Operate your hadoop cluster like a high eff goldmineOperate your hadoop cluster like a high eff goldmine
Operate your hadoop cluster like a high eff goldmine
DataWorks Summit1.9K views
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat by OpenStack
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red HatThe Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
OpenStack4K views
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack by Brian Schott
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStackGPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
Brian Schott6.9K views
Linux Stammtisch Munich: Ceph - Overview, Experiences and Outlook by Danny Al-Gaaf
Linux Stammtisch Munich: Ceph - Overview, Experiences and OutlookLinux Stammtisch Munich: Ceph - Overview, Experiences and Outlook
Linux Stammtisch Munich: Ceph - Overview, Experiences and Outlook
Danny Al-Gaaf929 views
Ceph Introduction 2017 by Karan Singh
Ceph Introduction 2017  Ceph Introduction 2017
Ceph Introduction 2017
Karan Singh9.9K views
Introduction into Ceph storage for OpenStack by OpenStack_Online
Introduction into Ceph storage for OpenStackIntroduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStack
OpenStack_Online12.4K views
Red Hat Storage Day Boston - Supermicro Super Storage by Red_Hat_Storage
Red Hat Storage Day Boston - Supermicro Super StorageRed Hat Storage Day Boston - Supermicro Super Storage
Red Hat Storage Day Boston - Supermicro Super Storage
Red_Hat_Storage571 views
Red Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure by Intel® Software
Red Hat® Ceph Storage and Network Solutions for Software Defined InfrastructureRed Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
Red Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
Intel® Software1.6K views
Ceph and OpenStack - Feb 2014 by Ian Colle
Ceph and OpenStack - Feb 2014Ceph and OpenStack - Feb 2014
Ceph and OpenStack - Feb 2014
Ian Colle4.7K views
Introduction to Stacki - World's fastest Linux server provisioning Tool by Suresh Paulraj
Introduction to Stacki - World's fastest Linux server provisioning ToolIntroduction to Stacki - World's fastest Linux server provisioning Tool
Introduction to Stacki - World's fastest Linux server provisioning Tool
Suresh Paulraj380 views
RedHat OpenStack Platform Overview by indevlab
RedHat OpenStack Platform OverviewRedHat OpenStack Platform Overview
RedHat OpenStack Platform Overview
indevlab1.2K views

Similar to Oracle RAC and Docker: The Why and How

DevOps Supercharged with Docker on Exadata by
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataMarketingArrowECS_CZ
983 views27 slides
01282016 Aerospike-Docker webinar by
01282016 Aerospike-Docker webinar01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinarAerospike, Inc.
2K views26 slides
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o... by
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Patrick Chanezon
2K views110 slides
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure by
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzureDevoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzurePatrick Chanezon
5.8K views110 slides
Storage as a service OpenStack by
Storage as a service OpenStackStorage as a service OpenStack
Storage as a service OpenStackopenstackindia
3.4K views27 slides
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure by
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Patrick Chanezon
1.6K views117 slides

Similar to Oracle RAC and Docker: The Why and How(20)

Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o... by Patrick Chanezon
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Patrick Chanezon2K views
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure by Patrick Chanezon
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzureDevoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Patrick Chanezon5.8K views
Storage as a service OpenStack by openstackindia
Storage as a service OpenStackStorage as a service OpenStack
Storage as a service OpenStack
openstackindia3.4K views
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure by Patrick Chanezon
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Patrick Chanezon1.6K views
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure by Patrick Chanezon
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzureDocker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Patrick Chanezon2.5K views
NVMe over Fabrics and Composable Infrastructure - What Do They Mean for Softw... by Ceph Community
NVMe over Fabrics and Composable Infrastructure - What Do They Mean for Softw...NVMe over Fabrics and Composable Infrastructure - What Do They Mean for Softw...
NVMe over Fabrics and Composable Infrastructure - What Do They Mean for Softw...
Ceph Community 150 views
Containers and Nutanix - Acropolis Container Services by NEXTtour
Containers and Nutanix - Acropolis Container ServicesContainers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container Services
NEXTtour3.5K views
Postgres & Red Hat Cluster Suite by EDB
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster Suite
EDB5.7K views
The Kubernetes WebLogic revival (part 1) by Simon Haslam
The Kubernetes WebLogic revival (part 1)The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)
Simon Haslam305 views
20191201 kubernetes managed weblogic revival - part 1 by makker_nl
20191201 kubernetes managed weblogic revival - part 120191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 1
makker_nl100 views
Introduction to openshift by MamathaBusi
Introduction to openshiftIntroduction to openshift
Introduction to openshift
MamathaBusi1.3K views
Big Data in Container; Hadoop Spark in Docker and Mesos by Heiko Loewe
Big Data in Container; Hadoop Spark in Docker and MesosBig Data in Container; Hadoop Spark in Docker and Mesos
Big Data in Container; Hadoop Spark in Docker and Mesos
Heiko Loewe1.8K views
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS by VMworld
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPSVMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
VMworld1.4K views
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like... by VMworld
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld410 views
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About? by Red_Hat_Storage
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?
Red_Hat_Storage2.9K views
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on... by Patrick Chanezon
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Patrick Chanezon893 views

Recently uploaded

Fleet Management Software in India by
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India Fleetable
11 views1 slide
AI and Ml presentation .pptx by
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptxFayazAli87
11 views15 slides
Agile 101 by
Agile 101Agile 101
Agile 101John Valentino
7 views20 slides
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...Deltares
17 views12 slides
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...Marc Müller
38 views62 slides
Myths and Facts About Hospice Care: Busting Common Misconceptions by
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common MisconceptionsCare Coordinations
5 views1 slide

Recently uploaded(20)

Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 views
AI and Ml presentation .pptx by FayazAli87
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptx
FayazAli8711 views
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares17 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 views
Myths and Facts About Hospice Care: Busting Common Misconceptions by Care Coordinations
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common Misconceptions
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 views
Headless JS UG Presentation.pptx by Jack Spektor
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptx
Jack Spektor7 views
SUGCON ANZ Presentation V2.1 Final.pptx by Jack Spektor
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptx
Jack Spektor22 views
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... by Deltares
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
Deltares7 views
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols by Deltares
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
Deltares7 views
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by sparkfabrik
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
sparkfabrik5 views
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info3349238 views
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action by Márton Kodok
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionGen Apps on Google Cloud PaLM2 and Codey APIs in Action
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action
Márton Kodok5 views
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares8 views

Oracle RAC and Docker: The Why and How

  • 1. Oracle RAC and Docker: The Why and How Seth Miller Senior Principal Software Engineer
  • 2. About Me • Senior Principal Software Engineer at Veritas • Oracle DBA since 2005 • Independent Oracle Users Group (IOUG) Board of Directors • Twin Cities Oracle Users Group (TCOUG) Former Board of Directors Copyright © 2016 Veritas Technologies LLC2
  • 3. Download Copyright © 2015 Symantec Corporation3
  • 4. Why? Copyright © 2015 Symantec Corporation4
  • 5. Why Oracle in Containers? • Resource reduction –# of VMs –Memory & disk • Time reduction –Provision –Configure Copyright © 2016 Veritas Technologies LLC5 • Storage Deduplication –Operating system –Oracle Binaries
  • 6. Considerations • Bleeding edge • Lack of vendor support –Not certified –Off-label –No published images • Automation Copyright © 2016 Veritas Technologies LLC6 NOT FOR PRODUCTION …at least not yet
  • 7. Contradictions • Shared nothing architecture • Split brain isolation • High availability • Full node control • Privileged access Copyright © 2016 Veritas Technologies LLC7
  • 8. Database in container = easy • Single container • No privileged access • No extra networking • No supporting processes Copyright © 2016 Veritas Technologies LLC8 Single Instance vs. Cluster https://github.com/oracle/docker- images/tree/master/OracleDatabase
  • 9. Copyright © 2016 Veritas Technologies LLC9 Cluster in containers = hard • At least 2 containers • Privileged access • Multiple networks • Needs init/systemd • Runs processes as root Single Instance vs. Cluster
  • 10. What are Containers? • Containers are not VMs • User space – Host kernel – Linux capabilities — capabilities(7) • CHOWN, DAC_OVERRIDE, FSETID, FOWNER, MKNOD, NET_RAW, SETGID, SETUID, SETFCAP, SETPCAP, NET_BIND_SERVICE, SYS_CHROOT, KILL, AUDIT_WRITE • Networking – Virtual network adapters • Storage – Images – Containers Copyright © 2016 Veritas Technologies LLC10
  • 11. Containers vs VMs 11 Copyright © 2016 Veritas Technologies LLC
  • 12. What are Containers? • Containers are not VMs • User space – Host kernel – Linux capabilities — capabilities(7) • CHOWN, DAC_OVERRIDE, FSETID, FOWNER, MKNOD, NET_RAW, SETGID, SETUID, SETFCAP, SETPCAP, NET_BIND_SERVICE, SYS_CHROOT, KILL, AUDIT_WRITE • Networking – Virtual network adapters • Storage – Images – Containers Copyright © 2016 Veritas Technologies LLC12
  • 13. Container Process Capabilities 13 Copyright © 2016 Veritas Technologies LLC ppid pid name command capabilities 10392 5957 root systemd full 5957 815 root init.tfa full 5957 5206 root init.ohasd full 5957 5997 root systemd-journal chown, dac_override, dac_read_search, fowner, setgid, setuid, sys_ptrace, sys_admin, audit_control, mac_override, syslog, wake_alarm, block_suspend, audit_read 5957 6042 root systemd-udevd full 5957 6110 root smartd full 5957 6111 81 dbus-daemon audit_write + 5957 6138 root rsyslogd full 5957 6140 root systemd-logind chown, dac_override, dac_read_search, fowner, kill, sys_admin, sys_tty_config, audit_control, mac_admin, wake_alarm, block_suspend, audit_read 5957 6159 root gssproxy full 5957 6265 root sshd full 5957 6276 root crond full 5957 6323 root rhnsd full 5957 6392 root ohasd.bin full ...
  • 14. What are Containers? • Containers are not VMs • User space – Host kernel – Linux capabilities — capabilities(7) • CHOWN, DAC_OVERRIDE, FSETID, FOWNER, MKNOD, NET_RAW, SETGID, SETUID, SETFCAP, SETPCAP, NET_BIND_SERVICE, SYS_CHROOT, KILL, AUDIT_WRITE • Networking – Virtual network adapters • Storage – Images – Containers Copyright © 2016 Veritas Technologies LLC14
  • 15. Virtual Network Adapters 15 Copyright © 2016 Veritas Technologies LLC docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> state UP link/ether 02:42:5d:3b:cc:3e brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 scope global docker0 ... vethd67c304@if32: <BROADCAST,MULTICAST,UP,LOWER_UP> master docker0 state UP link/ether c6:7a:0e:0d:a3:76 brd ff:ff:ff:ff:ff:ff ...
  • 16. What are Containers? • Containers are not VMs • User space – Host kernel – Linux capabilities — capabilities(7) • CHOWN, DAC_OVERRIDE, FSETID, FOWNER, MKNOD, NET_RAW, SETGID, SETUID, SETFCAP, SETPCAP, NET_BIND_SERVICE, SYS_CHROOT, KILL, AUDIT_WRITE • Networking – Virtual network adapters • Storage – Images – Containers Copyright © 2016 Veritas Technologies LLC16
  • 17. Storage 17 Copyright © 2016 Veritas Technologies LLC
  • 18. How? Copyright © 2015 Symantec Corporation18
  • 19. Copyright © 2016 Veritas Technologies LLC19 https://github.com/Seth-Miller/12c-rac-docker
  • 20. Oracle Grid Infrastructure Networking • 1 public network per node – 1 public static IP per node – 1 public virtual IP per node – 3 public SCAN virtual IPs per cluster – 1 public GNS virtual IP per cluster • 1 private network per node – 1 private static IP per node •2 node cluster = 10 IPs Copyright © 2016 Veritas Technologies LLC20 Static vs DHCP DNS vs GNS
  • 21. Platform - CoreOS Copyright © 2016 Veritas Technologies LLC21 • Built for containers • Built for cloud • Automated • Secure • Lean • Docker and rkt ready • Preconfigured
  • 22. Oracle RAC in Docker • Host preparation –Platform –Storage • Image preparation –IPs and DNS –Virtual Networks –Storage –OS –Clusterware and database binaries • Containers –Volumes –Shared memory –Networking –Communication –Grid infrastructure configuration 22 Copyright © 2016 Veritas Technologies LLC
  • 23. Cloud Config 23 Copyright © 2016 Veritas Technologies LLC #cloud-config ssh_authorized_keys: - ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAA... coreos: units: - name: docker.service drop-ins: - name: 10.docker_opts.conf content: | [Service] Environment="DOCKER_OPTS=--storage-driver=devicemapper --storage-opt=dm.thinpooldev=/dev/mapper/docker-thinpool --storage-opt=dm.use_deferred_removal=true --storage-opt=dm.basesize=25G"
  • 24. Storage • ext4 + overlayfs (previously Btrfs) by default • Changed to xfs + direct-lvm devicemapper storage – Uses LVM2 and thin pools – Configured on first boot with cloud config and systemd Copyright © 2016 Veritas Technologies LLC24 core@mycoreos ~ $ docker info … Storage Driver: devicemapper Pool Name: docker-thinpool Pool Blocksize: 524.3 kB Base Device Size: 26.84 GB Backing Filesystem: xfs …
  • 25. Storage • Additional storage – Grid infrastructure and database binaries • Uses LVM2 and ext4 filesystems – ASM disk devices – Configured on first boot with cloud config and systemd Copyright © 2016 Veritas Technologies LLC25 NAME SIZE TYPE MOUNTPOINT sdc 100G disk |-data-oracledata 30G lvm /oracledata sdd 16G disk sde 16G disk sdf 16G disk
  • 26. Oracle RAC in Docker • Host preparation –Platform –Storage • Image preparation –IPs and DNS –Virtual Networks –Storage –OS –Clusterware and database binaries • Containers –Volumes –Shared memory –Networking –Communication –Grid infrastructure configuration 26 Copyright © 2016 Veritas Technologies LLC
  • 27. DNS and DHCP • BIND container for DNS • DHCPD container for DHCP • Dynamic DNS updates • Only bind and dhcpd containers receive static IPs Copyright © 2016 Veritas Technologies LLC27 core@mycoreos ~ $ dig example.com. @10.10.10.10 axfr example.com. 86400 IN SOA example.com. root.example.com. example.com. 86400 IN NS localhost. rac1.example.com. 3600 IN A 10.10.10.134 rac2.example.com. 3600 IN A 10.10.10.135 ...
  • 28. Virtual Networks • docker network create --subnet=10.10.10.0/24 pub • docker network create --subnet=11.11.11.0/24 priv Copyright © 2016 Veritas Technologies LLC28
  • 29. Image Preparation • Install packages • Create OS users and groups • Change OS user passwords • Modify security limits • Add udev rules for ASM disks Copyright © 2016 Veritas Technologies LLC29 $ docker exec rac1 ls -l /dev/sd[d-f] brw-rw----. 1 root oinstall 8, 48 Oct 17 16:49 /dev/sdd brw-rw----. 1 root oinstall 8, 64 Oct 17 16:49 /dev/sde brw-rw----. 1 root oinstall 8, 80 Oct 17 16:49 /dev/sdf $ docker exec rac1 ls -ld /dev/asmdisks/ drwxr-xr-x. 2 root root 100 Oct 17 16:49 /dev/asmdisks/ $ docker exec rac1 ls -l /dev/asmdisks/ total 0 lrwxrwxrwx. 1 root root 6 Oct 17 16:49 asm-clu-121-DATA-disk1 -> ../sdd lrwxrwxrwx. 1 root root 6 Oct 17 16:49 asm-clu-121-DATA-disk2 -> ../sde lrwxrwxrwx. 1 root root 6 Oct 17 16:49 asm-clu-121-DATA-disk3 -> ../sdf
  • 30. Image Preparation • Install grid infrastructure binaries • Install database binaries • Commit container to a new image Copyright © 2016 Veritas Technologies LLC30
  • 31. Oracle RAC in Docker • Host preparation –Platform –Storage • Image preparation –IPs and DNS –Virtual Networks –Storage –OS –Clusterware and database binaries • Containers –DNS & DHCPD –Volumes –Shared memory –Networking –Communication –Grid infrastructure configuration 31 Copyright © 2016 Veritas Technologies LLC
  • 32. Containers 32 Copyright © 2016 Veritas Technologies LLC docker create --interactive --tty --name bind --hostname bind --publish 53:53/tcp --publish 53:53/udp --volume /srv/docker/bind:/data --env WEBMIN_ENABLED=false sethmiller/bind -4 Create the BIND container docker network connect --ip 10.10.10.10 pub bind docker start bind
  • 33. Containers 33 Copyright © 2016 Veritas Technologies LLC docker create --interactive --tty --name dhcpd --hostname dhcpd --volume /srv/docker/dhcpd:/data --volume /srv/docker/bind/bind/etc:/keys --dns 10.10.10.10 networkboot/dhcpd docker network connect --ip 10.10.10.11 pub dhcpd docker network connect --ip 11.11.11.11 priv dhcpd docker start dhcpd Create the DHCPD container
  • 34. Containers 34 Copyright © 2016 Veritas Technologies LLC docker run --detach --privileged --name rac1 --hostname rac1 --volume /oracledata/stage:/stage --volume /sys/fs/cgroup:/sys/fs/cgroup:ro --dns 10.10.10.10 --shm-size 2048m giinstalled /usr/lib/systemd/systemd --system --unit=multi-user.target Create the RAC node container
  • 35. Docker Networks 35 Copyright © 2016 Veritas Technologies LLC $ docker network ls NETWORK ID NAME DRIVER 4ee6f9eb3bf0 bridge bridge 8bc52205f018 host host eb82d0dad5c6 none null 60e3892778b4 priv bridge 21319f974244 pub bridge
  • 36. Containers 36 Copyright © 2016 Veritas Technologies LLC ip link add name rac1-pub type veth peer name eth-pub ip link set rac1-pub master <docker ‘pub’ network> ip link set rac1-pub up ip link set eth-pub netns <rac1 namespace PID> ip netns exec <rac1 namespace PID> ip link set eth-pub up ip link add name rac1-priv type veth peer name eth-priv ip link set rac1-priv master <docker ‘priv’ network> ip link set rac1-priv up ip link set eth-priv netns <rac1 namespace PID> ip netns exec <rac1 namespace PID> ip link set eth-priv up Add the additional virtual network adapters Legend Host level Container level
  • 37. Containers 37 Copyright © 2016 Veritas Technologies LLC [Service] ExecStart=dhclient -d -H rac1 -pf /var/run/dhclient-eth-pub.pid eth-pub ExecStop=dhclient -x eth-pub [Service] ExecStart=dhclient -d -H rac1-priv -pf /var/run/dhclient-eth-priv.pid eth-priv ExecStop=dhclient -x eth-priv Create dhcp systemd services
  • 38. Containers 38 Copyright © 2016 Veritas Technologies LLC docker exec rac1 systemctl start dhclient-rac1-eth-pub.service docker exec rac1 systemctl start dhclient-rac1-eth-priv.service Start dhcp systemd services
  • 39. Containers 39 Copyright © 2016 Veritas Technologies LLC docker run --detach --privileged --name rac2 --hostname rac2 --volume /oracledata/stage:/stage --volume /sys/fs/cgroup:/sys/fs/cgroup:ro --dns 10.10.10.10 --shm-size 2048m giinstalled /usr/lib/systemd/systemd --system --unit=multi-user.target sudo /srv/docker/scripts/networks-rac2.sh Create the second RAC node container
  • 40. Configure Grid Infrastructure • Establish cluster communication • Start clusterware processes • Set up GNS • Assign IPs • Set up ASM and create first disk group • Set up SCAN and local listeners • Set up Grid Infrastructure Management Repository (GIMR) (optional) Copyright © 2016 Veritas Technologies LLC41
  • 41. Create Database 42 Copyright © 2016 Veritas Technologies LLC docker exec rac1 su - oracle -c ' /u01/app/oracle/product/12.1.0/dbhome_1/bin/dbca -createDatabase -silent -templateName General_Purpose.dbc -gdbName orcl -sysPassword <sys password> -systemPassword <system password> -storageType ASM -diskGroupName DATA -recoveryGroupName DATA -characterSet AL32UTF8 -nationalCharacterSet UTF8 -totalMemory 1024 -emConfiguration none -nodelist rac1,rac2 -createAsContainerDatabase True'
  • 42. Future Plans • Fully Automated • Kubernetes • Support NFS files for ASM (ganesha NFS) • Run RAC nodes non-privileged • Lean out RAC node images • Install fests (RAC Attack) Copyright © 2016 Veritas Technologies LLC43

Editor's Notes

  1. 1
  2. http://www.solidfire.com/blog/containers-vs-vms
  3. https://github.com/Seth-Miller/12c-rac-docker/blob/master/viewcap.sh
  4. https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/
  5. https://github.com/Seth-Miller/12c-rac-docker
  6. https://coreos.com/why/
  7. https://github.com/Seth-Miller/12c-rac-docker
  8. https://github.com/coreos/coreos-cloudinit/blob/master/Documentation/cloud-config.md https://github.com/Seth-Miller/12c-rac-docker/blob/master/COREOS.md https://github.com/Seth-Miller/12c-rac-docker/blob/master/cloud-config
  9. https://coreos.com/releases/#561.0.0 https://lwn.net/Articles/627232/
  10. lsblk | awk '{printf "%-20s %-5s %-5s %s\n", $1, $4, $6, $7}'
  11. https://github.com/Seth-Miller/12c-rac-docker
  12. https://github.com/Seth-Miller/12c-rac-docker/tree/master/Dockerfile-bind https://github.com/Seth-Miller/12c-rac-docker/blob/master/dhcpd.conf
  13. https://github.com/Seth-Miller/12c-rac-docker/tree/master/Dockerfile-racnode https://github.com/Seth-Miller/12c-rac-docker/blob/master/99-asm-disks.rules
  14. https://github.com/Seth-Miller/12c-rac-docker
  15. https://github.com/Seth-Miller/12c-rac-docker/tree/master/Dockerfile-bind
  16. https://opsbot.com/advanced-docker-networking-pipework https://github.com/jpetazzo/pipework
  17. https://github.com/Seth-Miller/12c-rac-docker/blob/master/networks-rac1.sh
  18. https://github.com/Seth-Miller/12c-rac-docker/blob/master/dhclient-rac1-eth-pub.service https://github.com/Seth-Miller/12c-rac-docker/blob/master/dhclient-rac1-eth-priv.service
  19. https://github.com/Seth-Miller/12c-rac-docker/blob/master/networks-rac1.sh
  20. https://github.com/Seth-Miller/12c-rac-docker/blob/master/dhclient-rac2-eth-pub.service https://github.com/Seth-Miller/12c-rac-docker/blob/master/dhclient-rac2-eth-priv.service https://github.com/Seth-Miller/12c-rac-docker/blob/master/networks-rac2.sh
  21. https://github.com/Seth-Miller/12c-rac-docker/blob/master/fixssh.sh