SlideShare a Scribd company logo
Submit Search
Upload
Oracle RAC and Docker: The Why and How
Report
Share
Seth Miller
Oracle Systems Engineer at Collier IT
Follow
•
11 likes
•
3,221 views
1
of
43
Oracle RAC and Docker: The Why and How
•
11 likes
•
3,221 views
Report
Share
Download Now
Download to read offline
Software
Presented at COLLABORATE 2017.
Read more
Seth Miller
Oracle Systems Engineer at Collier IT
Follow
Recommended
Dell Emc Ready Bundle for Red Hat OpenStack Platform by
Dell Emc Ready Bundle for Red Hat OpenStack Platform
Caio Candido
419 views
•
53 slides
New Ceph capabilities and Reference Architectures by
New Ceph capabilities and Reference Architectures
Kamesh Pemmaraju
5.1K views
•
40 slides
Ceph Intro and Architectural Overview by Ross Turk by
Ceph Intro and Architectural Overview by Ross Turk
buildacloud
18.6K views
•
77 slides
Presentation linux on power by
Presentation linux on power
solarisyougood
3.6K views
•
90 slides
Red Hat Storage Day Boston - OpenStack + Ceph Storage by
Red Hat Storage Day Boston - OpenStack + Ceph Storage
Red_Hat_Storage
1K views
•
28 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
766 views
•
28 slides
More Related Content
What's hot
QCT Fact Sheet-English by
QCT Fact Sheet-English
Peggy Ho
230 views
•
4 slides
Rh436 pdf by
Rh436 pdf
Ranjeet Kumar Azad
9.7K views
•
357 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...
Ceph Community
96 views
•
33 slides
Oracle Database on Docker by
Oracle Database on Docker
Franck Pachot
1.3K views
•
34 slides
librados by
librados
Patrick McGarry
1.4K views
•
26 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 Storage
Red_Hat_Storage
2.1K views
•
32 slides
What's hot
(20)
QCT Fact Sheet-English by Peggy Ho
QCT Fact Sheet-English
Peggy Ho
•
230 views
Rh436 pdf by Ranjeet Kumar Azad
Rh436 pdf
Ranjeet Kumar Azad
•
9.7K 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...
Ceph Community
•
96 views
Oracle Database on Docker by Franck Pachot
Oracle Database on Docker
Franck Pachot
•
1.3K views
librados by Patrick McGarry
librados
Patrick McGarry
•
1.4K 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 Storage
Red_Hat_Storage
•
2.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 Korea Community
•
1.6K views
Operate your hadoop cluster like a high eff goldmine by DataWorks Summit
Operate your hadoop cluster like a high eff goldmine
DataWorks Summit
•
1.9K views
Block Storage For VMs With Ceph by The Linux Foundation
Block Storage For VMs With Ceph
The Linux Foundation
•
16.5K 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 Hat
OpenStack
•
4K views
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack by Brian Schott
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
Brian Schott
•
6.9K views
Linux Stammtisch Munich: Ceph - Overview, Experiences and Outlook by Danny Al-Gaaf
Linux Stammtisch Munich: Ceph - Overview, Experiences and Outlook
Danny Al-Gaaf
•
929 views
Ceph Introduction 2017 by Karan Singh
Ceph Introduction 2017
Karan Singh
•
9.9K views
Introduction into Ceph storage for OpenStack by OpenStack_Online
Introduction into Ceph storage for OpenStack
OpenStack_Online
•
12.4K views
Red Hat Storage Day Boston - Supermicro Super Storage by Red_Hat_Storage
Red Hat Storage Day Boston - Supermicro Super Storage
Red_Hat_Storage
•
571 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 Infrastructure
Intel® Software
•
1.6K views
Ceph as software define storage by Mahmoud Shiri Varamini
Ceph as software define storage
Mahmoud Shiri Varamini
•
1.4K views
Ceph and OpenStack - Feb 2014 by Ian Colle
Ceph and OpenStack - Feb 2014
Ian Colle
•
4.7K views
Introduction to Stacki - World's fastest Linux server provisioning Tool by Suresh Paulraj
Introduction to Stacki - World's fastest Linux server provisioning Tool
Suresh Paulraj
•
380 views
RedHat OpenStack Platform Overview by indevlab
RedHat OpenStack Platform Overview
indevlab
•
1.2K views
Similar to Oracle RAC and Docker: The Why and How
DevOps Supercharged with Docker on Exadata by
DevOps Supercharged with Docker on Exadata
MarketingArrowECS_CZ
983 views
•
27 slides
01282016 Aerospike-Docker webinar by
01282016 Aerospike-Docker webinar
Aerospike, Inc.
2K views
•
26 slides
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o... by
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Patrick Chanezon
2K views
•
110 slides
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure by
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Patrick Chanezon
5.8K views
•
110 slides
Storage as a service OpenStack by
Storage as a service OpenStack
openstackindia
3.4K views
•
27 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
Patrick Chanezon
1.6K views
•
117 slides
Similar to Oracle RAC and Docker: The Why and How
(20)
DevOps Supercharged with Docker on Exadata by MarketingArrowECS_CZ
DevOps Supercharged with Docker on Exadata
MarketingArrowECS_CZ
•
983 views
01282016 Aerospike-Docker webinar by Aerospike, Inc.
01282016 Aerospike-Docker webinar
Aerospike, Inc.
•
2K views
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...
Patrick Chanezon
•
2K views
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure by Patrick Chanezon
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Patrick Chanezon
•
5.8K views
Storage as a service OpenStack by openstackindia
Storage as a service OpenStack
openstackindia
•
3.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
Patrick Chanezon
•
1.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 Azure
Patrick Chanezon
•
2.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...
Ceph Community
•
150 views
Containers and Nutanix - Acropolis Container Services by NEXTtour
Containers and Nutanix - Acropolis Container Services
NEXTtour
•
3.5K views
Postgres & Red Hat Cluster Suite by EDB
Postgres & Red Hat Cluster Suite
EDB
•
5.7K views
The Kubernetes WebLogic revival (part 1) by Simon Haslam
The Kubernetes WebLogic revival (part 1)
Simon Haslam
•
305 views
20191201 kubernetes managed weblogic revival - part 1 by makker_nl
20191201 kubernetes managed weblogic revival - part 1
makker_nl
•
100 views
Core os dna_automacon by Patrick Galbraith
Core os dna_automacon
Patrick Galbraith
•
1.3K views
Introduction to openshift by MamathaBusi
Introduction to openshift
MamathaBusi
•
1.3K views
Big Data in Container; Hadoop Spark in Docker and Mesos by Heiko Loewe
Big Data in Container; Hadoop Spark in Docker and Mesos
Heiko Loewe
•
1.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 vCOPS
VMworld
•
1.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
•
410 views
Core os dna_oscon by Patrick Galbraith
Core os dna_oscon
Patrick Galbraith
•
1.5K 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?
Red_Hat_Storage
•
2.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...
Patrick Chanezon
•
893 views
Recently uploaded
Fleet Management Software in India by
Fleet Management Software in India
Fleetable
11 views
•
1 slide
AI and Ml presentation .pptx by
AI and Ml presentation .pptx
FayazAli87
11 views
•
15 slides
Agile 101 by
Agile 101
John Valentino
7 views
•
20 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...
Deltares
17 views
•
12 slides
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller
38 views
•
62 slides
Myths and Facts About Hospice Care: Busting Common Misconceptions by
Myths and Facts About Hospice Care: Busting Common Misconceptions
Care Coordinations
5 views
•
1 slide
Recently uploaded
(20)
Fleet Management Software in India by Fleetable
Fleet Management Software in India
Fleetable
•
11 views
AI and Ml presentation .pptx by FayazAli87
AI and Ml presentation .pptx
FayazAli87
•
11 views
Agile 101 by John Valentino
Agile 101
John Valentino
•
7 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...
Deltares
•
17 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...
Marc Müller
•
38 views
Myths and Facts About Hospice Care: Busting Common Misconceptions by Care Coordinations
Myths and Facts About Hospice Care: Busting Common Misconceptions
Care Coordinations
•
5 views
The Era of Large Language Models.pptx by AbdulVahedShaik
The Era of Large Language Models.pptx
AbdulVahedShaik
•
5 views
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 -...
Deltares
•
6 views
Headless JS UG Presentation.pptx by Jack Spektor
Headless JS UG Presentation.pptx
Jack Spektor
•
7 views
SUGCON ANZ Presentation V2.1 Final.pptx by Jack Spektor
SUGCON ANZ Presentation V2.1 Final.pptx
Jack Spektor
•
22 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...
Deltares
•
7 views
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols by Deltares
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
Deltares
•
7 views
Short_Story_PPT.pdf by utkarshsatishkumarsh
Short_Story_PPT.pdf
utkarshsatishkumarsh
•
5 views
Programming Field by thehardtechnology
Programming Field
thehardtechnology
•
5 views
SAP FOR CONTRACT MANUFACTURING.pdf by Virendra Rai, PMP
SAP FOR CONTRACT MANUFACTURING.pdf
Virendra Rai, PMP
•
13 views
EV Charging App Case by iCoderz Solutions
EV Charging App Case
iCoderz Solutions
•
5 views
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by sparkfabrik
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
sparkfabrik
•
5 views
360 graden fabriek by info33492
360 graden fabriek
info33492
•
38 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 Action
Márton Kodok
•
5 views
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares
•
8 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
43.
Thank you! Seth Miller sethmiller.sm@gmail.com github.com/Seth-Miller/12c-rac-docker
Editor's Notes
1
http://www.solidfire.com/blog/containers-vs-vms
https://github.com/Seth-Miller/12c-rac-docker/blob/master/viewcap.sh
https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/
https://github.com/Seth-Miller/12c-rac-docker
https://coreos.com/why/
https://github.com/Seth-Miller/12c-rac-docker
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
https://coreos.com/releases/#561.0.0 https://lwn.net/Articles/627232/
lsblk | awk '{printf "%-20s %-5s %-5s %s\n", $1, $4, $6, $7}'
https://github.com/Seth-Miller/12c-rac-docker
https://github.com/Seth-Miller/12c-rac-docker/tree/master/Dockerfile-bind https://github.com/Seth-Miller/12c-rac-docker/blob/master/dhcpd.conf
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
https://github.com/Seth-Miller/12c-rac-docker
https://github.com/Seth-Miller/12c-rac-docker/tree/master/Dockerfile-bind
https://opsbot.com/advanced-docker-networking-pipework https://github.com/jpetazzo/pipework
https://github.com/Seth-Miller/12c-rac-docker/blob/master/networks-rac1.sh
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
https://github.com/Seth-Miller/12c-rac-docker/blob/master/networks-rac1.sh
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
https://github.com/Seth-Miller/12c-rac-docker/blob/master/fixssh.sh