91
Oracle Enterprise Linux Guests on Virtual Box Hosts Ahbaid Gaffoor Amazon.com/A9.com

Oracle Enterprise Linux Guests on Virtual Box Hosts Ahbaid Gaffoor Amazon.com/A9.com

Embed Size (px)

Citation preview

Oracle Enterprise Linux Guestson Virtual Box Hosts

Ahbaid GaffoorAmazon.com/A9.com

Overview1. Virtualization2. High Level Steps & Concepts3. Build a Guest Machine4. Packages and Configuration5. Running Headless VMs

2

1. Virtualization• Single Host• CPU, Disk, Memory, Video, Sound• Offerings:– VirtualBox, – OracleVM, – Vmware, – KVM, Xen– Microsoft Virtual Machine– Amazon EC2 (cloud)

3

2. High Level Steps & Concepts1. Virtualization Host Recommendations2. Guest Recommendations3. Storage4. Networking5. Installing VirtualBox6. Installing a Guest

4

2. High Level Steps & Concepts1. Virtualization Host Recommendations:– CPU: Multi Core, at least 4 cores– RAM: 4GB min, 8 recommended, 16GB better– Disk: 1 spindle per Guest, SSD if possible– Video: Shell Prompt– Windows 7 64-bit, SSD TRIM command support

5

2. High Level Steps & Concepts

6

2. High Level Steps & Concepts

7

3. Build a Guest Machine1. Virtual Box2. High Level Steps3. Build a Guest VM

8

3.1 Virtual Box:1. otn.oracle.com -> VM VirtualBox2. virtualbox.org (Open Source)3. Run Installer

9

3.1 Virtual Box:

10

3.2 Virtual Box: High Level Steps1. VM Name & OS Type2. Specify Memory (2GB)3. Virtual Hard Disk Creation4. Specify CD Rom for boot5. Customize Guest VM6. Boot and Install OS7. Specify Hard Disk for Boot8. Boot Guest VM

11

3.3 Virtual Box: Build a Guest VM

12

Type, Memory, Disk

3.3 Virtual Box: Build a Guest VM

13

14

15

16

17

18

19

20

21

22

3.3 Virtual Box: Build a Guest VM

23

Customize

24

25

26

27

28

29

30

31

32

33

34

3.3 Virtual Box: Build a Guest VM

35

Installation BOOT

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

3.3 Virtual Box: Build a Guest VM

59

BOOT from Hard Disk

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

3.3 Virtual Box: Build a Guest VM

77

BOOT from Hard Disk

4. Packages and Configuration1. Required Packages2. Memory Configuration3. Network Configuration4. Kernel Configuration5. User Limits Configuration6. Security Configuration7. Network Time Protocol Configuration8. User and Group Creation9. VirtualBox Guest Additions

78

REQ

UIR

ED P

ACKA

GES

[root@n1 setup]# more packages.txtkernel-headers-2.6.18-194.el5.x86_64.rpmlibgomp-4.4.0-6.el5.x86_64.rpmbinutils-2.17.50.0.6-14.el5.x86_64.rpmcompat-libstdc++-33-3.2.3-61.x86_64.rpmelfutils-libelf-0.137-3.el5.x86_64.rpmelfutils-libelf-devel-0.137-3.el5.x86_64.rpmelfutils-libelf-devel-static-0.137-3.el5.x86_64.rpmgcc-4.1.2-48.el5.x86_64.rpmgcc-c++-4.1.2-48.el5.x86_64.rpmglibc-2.5-49.x86_64.rpmglibc-common-2.5-49.x86_64.rpmglibc-devel-2.5-49.x86_64.rpmglibc-headers-2.5-49.x86_64.rpmksh-20100202-1.el5.x86_64.rpmlibaio-0.3.106-5.x86_64.rpmlibaio-devel-0.3.106-5.x86_64.rpmlibgcc-4.1.2-48.el5.x86_64.rpmlibstdc++-4.1.2-48.el5.x86_64.rpmlibstdc++-devel-4.1.2-48.el5.x86_64.rpmmake-3.81-3.el5.x86_64.rpmsysstat-7.0.2-3.el5.x86_64.rpmunixODBC-2.2.11-7.1.x86_64.rpmunixODBC-devel-2.2.11-7.1.x86_64.rpm

Packages - List

[root@n1 setup]# more install_packages.shumount /dev/cdom 1>/dev/null 2>&1mount /dev/cdrom /media 1>/dev/null 2>&1export CD=/media/Server

for p in `cat packages.txt`; do echo "# $CD/$p" rpm -Uvh --nodeps $CD/$pdone

Packages – Install Script

[root@n1 ~]# df -h -t tmpfsFilesystem Size Used Avail Use% Mounted ontmpfs 2.0G 0 2.0G 0% /dev/shm

Automatic Memory Management and /dev/shm

Size /dev/shm for MEMORY_TARGET shared memory allocation of 3G[root@n1 ~]# umount tmpfs

[root@n1 ~]# df -h -t tmpfsFilesystem Size Used Avail Use% Mounted on

[root@n1 ~]# mount -t tmpfs shmfs -o size=3000m /dev/shm

[root@n1 ~]# df -h -t tmpfsFilesystem Size Used Avail Use% Mounted onshmfs 3.0G 0 3.0G 0% /dev/shm

[root@n1 ~]# cat /etc/fstab/dev/VolGroup00/LogVol00 / ext3 defaults 1 1LABEL=/boot /boot ext3 defaults 1 2#tmpfs /dev/shm tmpfs defaults 0 0tmpfs /dev/shm tmpfs size=3000m 0 0devpts /dev/pts devpts gid=5,mode=620 0 0sysfs /sys sysfs defaults 0 0proc /proc proc defaults 0 0/dev/VolGroup00/LogVol01 swap swap defaults 0 0

Edit /etc/fstab for persistence

MEM

ORY

CO

NFI

GU

RATI

ON

eth0 configuration

NET

WO

RK C

ON

FIG

URA

TIO

N

[root@n1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0# Intel Corporation 82540EM Gigabit Ethernet ControllerDEVICE=eth0BOOTPROTO=staticBROADCAST=199.1.1.255HWADDR= 08:00:27:0F:D3:AFIPADDR=199.1.1.61NETMASK=255.255.255.0NETWORK=199.1.1.0ONBOOT=yes

Edit /etc/sysctl.conf# Oracle 11gR2 configuration# http://download.oracle.com/docs/cd/E11882_01/install.112/e16768/toc.htm#BHCCADGD

# concurrent outstanding requestsfs.aio-max-nr = 1048576

# filesfs.file-max = 6815744

# Shared Memorykernel.shmall = 2097152kernel.shmmax = 536870912kernel.shmmni = 4096

# Semaphores semmsl semmns semopm semmnikernel.sem = 250 32000 100 128

# Networknet.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048586

# Huge Pages for Oracle group 501 (oracle user group)vm.hugetlb_shm_group=501 KE

RNEL

CO

NFI

GU

RATI

ON

Apply/etc/sysctl.conf changes[root@n1 ~]# /sbin/sysctl -pnet.ipv4.ip_forward = 0net.ipv4.conf.default.rp_filter = 1net.ipv4.conf.default.accept_source_route = 0kernel.sysrq = 0kernel.core_uses_pid = 1net.ipv4.tcp_syncookies = 1kernel.msgmnb = 65536kernel.msgmax = 65536kernel.shmall = 4294967296fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 536870912kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048586vm.hugetlb_shm_group = 501

KERN

EL C

ON

FIG

URA

TIO

N

Edit /etc/security/limits.conf# oracle limitsoracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 10240

USE

R LI

MIT

S

Edit /etc/pam.d/login# oraclesession required pam_limits.so

SECU

RITY

Edit /etc/selinux/config# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - SELinux is fully disabled.SELINUX=disabled

Edit /etc/sysconfig/ntpd# -x sets the the slew/step threshold to 600 secondsOPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid“

NTP

Restart ntpd[root@n1 ~]# /etc/init.d/ntpd restartShutting down ntpd: [ OK ]ntpd: Synchronizing with time server: [ OK ]Starting ntpd: [ OK ]

Create dba and oinstall groups[root@n1 ~]# cat /etc/sysctl.conf | grep ^vm.hugetlb_shm_groupvm.hugetlb_shm_group=501[root@n1 ~]# groupadd -g 501 dba[root@n1 ~]# groupadd -g 502 oinstall

USE

R AN

D G

ROU

P CR

EATI

ON

Create oracle user[root@n1 oracle]# mkdir -p /u01/app

[root@n1 oracle]# useradd -m -d /u01/app/oracle -u 501 -g oinstall -G dba -s /bin/bash oracle

[root@n1 oracle]# passwd oracleChanging password for user oracle.New UNIX password:Retype new UNIX password:passwd: all authentication tokens updated successfully.

Edit /etc/sudoers# Allow oracle user full sudo accessoracle ALL=(ALL) ALL

Create grid and db directories (as oracle)[root@n1 oracle]# su - oracle[oracle@n1 ~]$ mkdir -p /u01/app/grid/11.2[oracle@n1 ~]$ mkdir -p /u01/app/oracle/product/db/11.2

Mount VirtualBox ISO image from HostD:\Program Files\Sun\VirtualBox\VBoxGuestAdditions.iso

Attach using Host Window: Menu -> Devices -> CD/DVD Devices -> More CD/DVD Images…

Mount as CD

VBox

Gue

stAd

ditio

ns

Mount and run VirtualBox Guest Additions from Guest [root@n1 ~]# df -h | grep media/dev/hdc 33M 33M 0 100% /media/VBOXADDITIONS_3.2.8_64453

[root@n1 ~]# cd /media/VBOXADDITIONS_3.2.8_64453/

[root@n1 VBOXADDITIONS_3.2.8_64453]# sh ./VBoxLinuxAdditions-amd64.run

Why?• Mouse Pointer Integration• Improved Video Resolution• Seamless windows• Time Synchronization• Shared Clipboard• Automated Logins

89

5. Running Headless VMs

VBoxManage.exe modifyvm to set guest VRDP port

5. R

UN

NIN

G H

EAD

LESS

VM

s

VBoxManage.exe modifyvm n1 –vrdp on –vrdpport 3361VBoxManage.exe modifyvm n2 –vrdp on –vrdpport 3362

C:\>VBoxManage.exe modifyvm n1 --vrdp on --vrdpmulticon on --vrdpport 3361Oracle VM VirtualBox Command Line Management Interface Version 3.2.8(C) 2005-2010 Oracle CorporationAll rights reserved.

C:\>VBoxManage.exe modifyvm n2 --vrdp on --vrdpmulticon on --vrdpport 3362Oracle VM VirtualBox Command Line Management Interface Version 3.2.8(C) 2005-2010 Oracle CorporationAll rights reserved.

• Windows already uses port 3389• n1 on port 3361, n2 on port 3362• VBoxHeadless can be called directly• Use a client to connect to <virtualbox host>:<virtual box guest vrdp port> : “mstsc.exe /v:localhost:3361”

VBoxManage.exe showvminfo to verifyC:\>VBoxManage.exe showvminfo n2 | findstr /ib vrdpVRDP: enabled (Address 0.0.0.0, Ports 3362, MultiConn: off, ReuseSingleConn: off, Authentication type: null)

VBoxManage.exe startvm to run C:\>VBoxManage.exe startvm n2 --type vrdpOracle VM VirtualBox Command Line Management Interface Version 3.2.8(C) 2005-2010 Oracle CorporationAll rights reserved.

Waiting for the VM to power on...VM has been successfully started.

Thank Youahbaid@{amazon.com|a9.com|att.net}

http://redoblog.wordpress.comhttp://ocpdba.net