SlideShare a Scribd company logo
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
Ad

More Related Content

What's hot (20)

QCT Fact Sheet-English
QCT Fact Sheet-EnglishQCT Fact Sheet-English
QCT Fact Sheet-English
Peggy Ho
 
Rh436 pdf
Rh436 pdfRh436 pdf
Rh436 pdf
Ranjeet Kumar Azad
 
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...
My personal journey through the World of Open Source! How What Was Old Beco...
Ceph Community
 
Oracle Database on Docker
Oracle Database on DockerOracle Database on Docker
Oracle Database on Docker
Franck Pachot
 
librados
libradoslibrados
librados
Patrick McGarry
 
Red 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 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_Storage
 
[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...
[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...
OpenStack Korea Community
 
Operate your hadoop cluster like a high eff goldmine
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 Summit
 
Block Storage For VMs With Ceph
Block Storage For VMs With CephBlock Storage For VMs With Ceph
Block Storage For VMs With Ceph
The Linux Foundation
 
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
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
OpenStack
 
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStackGPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
Brian Schott
 
Linux Stammtisch Munich: Ceph - Overview, Experiences and Outlook
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-Gaaf
 
Ceph Introduction 2017
Ceph Introduction 2017  Ceph Introduction 2017
Ceph Introduction 2017
Karan Singh
 
Introduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStackIntroduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStack
OpenStack_Online
 
Red Hat Storage Day Boston - Supermicro Super 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_Storage
 
Red Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
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® Software
 
Ceph as software define storage
Ceph as software define storageCeph as software define storage
Ceph as software define storage
Mahmoud Shiri Varamini
 
Ceph and OpenStack - Feb 2014
Ceph and OpenStack - Feb 2014Ceph and OpenStack - Feb 2014
Ceph and OpenStack - Feb 2014
Ian Colle
 
Introduction to Stacki - World's fastest Linux server provisioning Tool
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 Paulraj
 
RedHat OpenStack Platform Overview
RedHat OpenStack Platform OverviewRedHat OpenStack Platform Overview
RedHat OpenStack Platform Overview
indevlab
 
QCT Fact Sheet-English
QCT Fact Sheet-EnglishQCT Fact Sheet-English
QCT Fact Sheet-English
Peggy Ho
 
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...
My personal journey through the World of Open Source! How What Was Old Beco...
Ceph Community
 
Oracle Database on Docker
Oracle Database on DockerOracle Database on Docker
Oracle Database on Docker
Franck Pachot
 
Red 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 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_Storage
 
[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...
[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...
OpenStack Korea Community
 
Operate your hadoop cluster like a high eff goldmine
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 Summit
 
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
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
OpenStack
 
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStackGPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
Brian Schott
 
Linux Stammtisch Munich: Ceph - Overview, Experiences and Outlook
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-Gaaf
 
Ceph Introduction 2017
Ceph Introduction 2017  Ceph Introduction 2017
Ceph Introduction 2017
Karan Singh
 
Introduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStackIntroduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStack
OpenStack_Online
 
Red Hat Storage Day Boston - Supermicro Super 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_Storage
 
Red Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
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® Software
 
Ceph and OpenStack - Feb 2014
Ceph and OpenStack - Feb 2014Ceph and OpenStack - Feb 2014
Ceph and OpenStack - Feb 2014
Ian Colle
 
Introduction to Stacki - World's fastest Linux server provisioning Tool
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 Paulraj
 
RedHat OpenStack Platform Overview
RedHat OpenStack Platform OverviewRedHat OpenStack Platform Overview
RedHat OpenStack Platform Overview
indevlab
 

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

DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on Exadata
MarketingArrowECS_CZ
 
01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar
Aerospike, Inc.
 
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...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Patrick Chanezon
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
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 Chanezon
 
Storage as a service OpenStack
Storage as a service OpenStackStorage as a service OpenStack
Storage as a service OpenStack
openstackindia
 
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
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Patrick Chanezon
 
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
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 Chanezon
 
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...
NVMe over Fabrics and Composable Infrastructure - What Do They Mean for Softw...
Ceph Community
 
Containers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesContainers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container Services
NEXTtour
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster Suite
EDB
 
The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)
Simon Haslam
 
20191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 120191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 1
makker_nl
 
Core os dna_automacon
Core os dna_automaconCore os dna_automacon
Core os dna_automacon
Patrick Galbraith
 
Introduction to openshift
Introduction to openshiftIntroduction to openshift
Introduction to openshift
MamathaBusi
 
Big Data in Container; Hadoop Spark in Docker and Mesos
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 Loewe
 
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
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
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...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld
 
Core os dna_oscon
Core os dna_osconCore os dna_oscon
Core os dna_oscon
Patrick Galbraith
 
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?
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?
Red_Hat_Storage
 
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...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Patrick Chanezon
 
DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on Exadata
MarketingArrowECS_CZ
 
01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar
Aerospike, Inc.
 
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...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Patrick Chanezon
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
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 Chanezon
 
Storage as a service OpenStack
Storage as a service OpenStackStorage as a service OpenStack
Storage as a service OpenStack
openstackindia
 
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
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Patrick Chanezon
 
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
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 Chanezon
 
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...
NVMe over Fabrics and Composable Infrastructure - What Do They Mean for Softw...
Ceph Community
 
Containers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesContainers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container Services
NEXTtour
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster Suite
EDB
 
The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)
Simon Haslam
 
20191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 120191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 1
makker_nl
 
Introduction to openshift
Introduction to openshiftIntroduction to openshift
Introduction to openshift
MamathaBusi
 
Big Data in Container; Hadoop Spark in Docker and Mesos
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 Loewe
 
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
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
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...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld
 
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?
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?
Red_Hat_Storage
 
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...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Patrick Chanezon
 
Ad

Recently uploaded (20)

Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
Ad

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

  • #2: 1
  • #12: http://www.solidfire.com/blog/containers-vs-vms
  • #14: https://github.com/Seth-Miller/12c-rac-docker/blob/master/viewcap.sh
  • #18: https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/
  • #20: https://github.com/Seth-Miller/12c-rac-docker
  • #22: https://coreos.com/why/
  • #23: https://github.com/Seth-Miller/12c-rac-docker
  • #24: 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
  • #25: https://coreos.com/releases/#561.0.0 https://lwn.net/Articles/627232/
  • #26: lsblk | awk '{printf "%-20s %-5s %-5s %s\n", $1, $4, $6, $7}'
  • #27: https://github.com/Seth-Miller/12c-rac-docker
  • #28: https://github.com/Seth-Miller/12c-rac-docker/tree/master/Dockerfile-bind https://github.com/Seth-Miller/12c-rac-docker/blob/master/dhcpd.conf
  • #30: 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
  • #32: https://github.com/Seth-Miller/12c-rac-docker
  • #33: https://github.com/Seth-Miller/12c-rac-docker/tree/master/Dockerfile-bind
  • #36: https://opsbot.com/advanced-docker-networking-pipework https://github.com/jpetazzo/pipework
  • #37: https://github.com/Seth-Miller/12c-rac-docker/blob/master/networks-rac1.sh
  • #38: 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
  • #39: https://github.com/Seth-Miller/12c-rac-docker/blob/master/networks-rac1.sh
  • #40: 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
  • #41: https://github.com/Seth-Miller/12c-rac-docker/blob/master/fixssh.sh