VirtualBox Virtual Machine Creation: Difference between revisions
(48 intermediate revisions by the same user not shown) | |||
Line 25: | Line 25: | ||
'''Create''' | '''Create''' | ||
'''File Location''' Will default to the VM name and that is appropriate. The corresponding physical file will get a .vdi extension and it will be available as ~/VirtualBox VMs/<vm-name>/<vm-name>.vdi | '''File Location''' Will default to the VM name and that is appropriate. The default name, which should be appropriate in most cases, is main-virtual-disk. The corresponding physical file will get a .vdi extension and it will be available as ~/VirtualBox VMs/<vm-name>/<vm-name>.vdi | ||
'''File size''' A typical minimal RHEL 7.2 takes about 1.6GB. | '''File size''' A typical minimal RHEL 7.2 takes about 1.6GB. | ||
Line 39: | Line 39: | ||
If you plan to manage this VM as part of a group, now is the time to create the VirtualBox group and move the VM in it. | If you plan to manage this VM as part of a group, now is the time to create the VirtualBox group and move the VM in it. | ||
== | ==Virtual Hardware Configuration== | ||
'''Note''' | '''Note''' | ||
Line 45: | Line 45: | ||
Select the newly created VM -> Right click -> Settings | Select the newly created VM -> Right click -> Settings | ||
===General=== | |||
General -> Basic | |||
General -> Advanced: | |||
Shared Clipboard: Bidirectional | |||
Drag'n'Drop: Bidirectional | |||
===System=== | ===System=== | ||
Line 82: | Line 92: | ||
'''Video Memory''' 128 MB | '''Video Memory''' 128 MB | ||
Experimental 64 MB. | |||
'''Monitor Count''' 1 | '''Monitor Count''' 1 | ||
'''Scale Factor''' 100% | '''Scale Factor''' On client machines with high resolution, use 200%. Otherwise use 100%. This can be changed later. | ||
'''HiDPI Support''' Use Unscaled HiDPI Output | '''HiDPI Support''' Use Unscaled HiDPI Output | ||
Line 115: | Line 127: | ||
Attributes | Attributes | ||
'''Name | '''Name''' SATA | ||
'''Type''' AHCI | '''Type''' AHCI | ||
Line 131: | Line 143: | ||
'''Solid-state Drive''' (if it's a Solid-state Drive) | '''Solid-state Drive''' (if it's a Solid-state Drive) | ||
===Network=== | |||
See [[VirtualBox Networking Concepts]] for clarifications. Usually we we want to add one [[VirtualBox Networking Concepts#Host-only_Networking|Host-only adapter]] and one [[VirtualBox Networking Concepts#NAT|NAT adapter]] (in this order). | |||
Before adding the Host-only network adapter, go to VirtualBox -> Preferences -> Network -> Host-only Networks and add a Host-only network, if required. If one already exists and you plan to share it, you're all set. If there isn't any, add "vboxnet0". Configure it as described here: [[VirtualBox Host-Only Networking Configuration]]. | |||
====VM IP Addresses==== | |||
Conventionally, vboxnet0 IP address is 172.30.0.1. This address is important because the host will add routes to it automatically, so if you want to be able to communicate with the virtual machines created to use this interface, without additional configuration, from the host, then you should give those VMs IP addresses from the 172.30.0.0/16 network. | |||
{{Error|Do not use 172.20.*.*, it will clash with Marriott's addressing scheme}} | |||
{{Warn|'''Good Practice'''. It is a good idea to use the same Host-only network for all the VMs you create on the same host, provided that you are careful to give those VMs non-overlapping IP addresses. This will allow you to communicate via ssh between any two arbitrary VMs – all you have to do is to start those VMs and they are instantaneously available to each other.}} | |||
Settings -> Network | |||
Edit "Adapter1" and "Adapter2". Adapter1 should be Host-only and Adapter2 should be NAT. For all adapters: | |||
'''Enable Network Adapter''' | |||
'''Attached to:''' Host-only Adapter, then NAT | |||
'''Advanced''' | |||
'''Adapter Type''' Paravirtualized Network (virtio-net) | |||
'''Promiscuous Mode''' Deny | |||
'''MAC Address''' use default | |||
'''Cable Connected''' yes | |||
===Shared Folders=== | |||
Click on the "Blue Folder Green Plus" icon. | |||
Folder Path -> Drop Down -> Select the "Other" folder -> This brings up a File browser window. | |||
Browse to the folder you want to expose on the Guest and click Open. The full path of the selected folder should show up in the "Folder Path:" box. | |||
Folder name: leave the default. | |||
No read-only (unless you want to) | |||
<font color=red>What does "auto-mount" mean?</font> | |||
Mounting on the guest (requires guest additions): | |||
* Linux <font color=red>TODO</font> | |||
* [[VirtualBox_Windows_VM_Configuration#Mount_the_Exported_Directory|Windows 10]] | |||
==Save the Hardware Configuration== | |||
At this point, the virtualized hardware configuration is defined, save it. | |||
==Linux Guest OS Installation== | |||
Select the VM -> Settings -> Storage -> Controller: IDE -> Select drive -> Attributes: Optical Drive: IDE Secondary Master -> click on the Disk icon on the right -> Choose Virtual Disk File -> Select the OS iso file -> OK. | |||
Select the VM -> Right click -> Start -> Normal Start. | |||
[ | The Linux installation program should start. From now on go to [[RHEL 7/Centos 7 Installation]] to perform the guest OS installation. | ||
When the OS installation is done, continue with [[#Guest_Additions|Guest Additions]]. | |||
==RHEL== | |||
For RHEL system, register the system with the subscription manager. | |||
{{ | Details: {{Internal|Red Hat Subscription Manager|Red Hat Subscription Manager}} | ||
==Guest Additions== | |||
The ''guest additions'' are special software packages that are shipped with VirtualBox but designed to be installed ''inside'' a VM to improve the performance of the guest OS and add extra features. | |||
Guest Additions are supposed to be installed ''inside'' the virtual machine after the guest operating system has been installed. They are shipped as a CD ISO: | |||
* http://download.virtualbox.org/virtualbox/5.0.4/VBoxGuestAdditions_5.0.4.iso | |||
* http://download.virtualbox.org/virtualbox/5.1.18/VBoxGuestAdditions_5.1.18.iso | |||
Download <tt>VBoxGuestAdditions_5.0.4.iso</tt> from the same place the hypervisor was downloaded from, then mount the image as a local filesystem: Select the VM -> Settings -> Storage -> Controller IDE -> Disk icon -> Choose Virtual Optical Disk File | |||
./ | |||
Content is found on the guest system as <tt>/dev/disk/by-label/VBOXADDITIONS_5.0.4_102546</tt>. | |||
Mount it: | |||
<pre> | |||
mount /dev/disk/by-label/VBOXADDITIONS_5.0.4_102546 /mnt | |||
</pre> | |||
Installation as root: | |||
<pre> | |||
yum -y install bzip2 kernel-devel gcc | |||
cd /mnt | |||
./VBoxLinuxAdditions.run | |||
</pre> | |||
There were situations when the execution failed and I had to (adjusting for the current kernel version): | |||
</ | <pre> | ||
export KERN_DIR=/usr/src/kernels/3.10.0-514.16.1.el7.x86_64 | |||
</pre> | |||
==Reboot to Make Sure the Host Starts== | |||
Reboot and make sure the host starts. | |||
=Linux Clone= | |||
This is the procedure to create a clone of a VirtualBox Virtual Machine, including an O/S image. | |||
{{Internal|VirtualBox Virtual Machine and Linux O/S Clone|VirtualBox Virtual Machine and Linux O/S Clone}} | |||
=Windows VM Creation= | |||
{{Internal|VirtualBox Windows VM Configuration|VirtualBox Windows VM Configuration}} | |||
Latest revision as of 22:12, 22 May 2017
Internal
Linux
VM Creation
From the VirtualBox Manager -> New -> Expert Mode (it may already start in Expert Mode, and in that case, you'll see a button named "Guided Mode" at the bottom of the screen).
The VM creation process with create the corresponding files in a directory associated with the VM, in ~/VirtualBox VMs/<vm-name>.
The VID (VirtualBox disk image) is a file with .vdi extension.
Name master31-1.openshift.local
Type Linux
Version Red Hat (64-bit)
Memory Size Choose as appropriate. Always keep in mind the amount of physical memory available to your hypervisor, and how many VMs you plan to use at the same time.
Create a virtual hard disk now
Create
File Location Will default to the VM name and that is appropriate. The default name, which should be appropriate in most cases, is main-virtual-disk. The corresponding physical file will get a .vdi extension and it will be available as ~/VirtualBox VMs/<vm-name>/<vm-name>.vdi
File size A typical minimal RHEL 7.2 takes about 1.6GB.
Hard disk file type VDI (VirtualBox Disk Image)
Storage on physical hard disk Dynamically allocated
Create
After this step, the VM should be created and you can review configuration in the right pane.
If you plan to manage this VM as part of a group, now is the time to create the VirtualBox group and move the VM in it.
Virtual Hardware Configuration
Note
- Click OK often, if you go through many changes and successive tabs and don't click OK, Cancel will discard all changes.
Select the newly created VM -> Right click -> Settings
General
General -> Basic
General -> Advanced:
Shared Clipboard: Bidirectional
Drag'n'Drop: Bidirectional
System
System -> Motherboard
Boot Order Optical, Hard Disk (deselect Floppy)
Chipset ICH9
Pointing Device USB Tablet (this is important, default "PS/2 Mouse" does not handle well cursor transition between windows and you will need to Left Command to release the mouse.
Extended Features
- Enable I/O APIC
- Hardware Clock in UTC Time
System -> Processor
Processors(s)
Execution Cap 100%
Extended Features Enable PAE/NX
System -> Acceleration
Paravirtualization Interface Default
Hardware Virtualization
- Enable VT-x/AMD-v
- Enable Nested Paging.
Display
Display -> Screen
Video Memory 128 MB
Experimental 64 MB.
Monitor Count 1
Scale Factor On client machines with high resolution, use 200%. Otherwise use 100%. This can be changed later.
HiDPI Support Use Unscaled HiDPI Output
Display -> Remote Display
Display -> Video Capture
Storage
Settings -> Storage
Controller IDE
Attributes
Name IDE
Type ICH6
Use Host I/O Cache
Empty -> Leave it IDE Secondary Master.
No Live CD/DVD
Controller SATA
Attributes
Name SATA
Type AHCI
Port Count 1
Use Host I/O Cache
<vm-name>.vdi
Attributes
Hard Disk SATA Port 0
Solid-state Drive (if it's a Solid-state Drive)
Network
See VirtualBox Networking Concepts for clarifications. Usually we we want to add one Host-only adapter and one NAT adapter (in this order).
Before adding the Host-only network adapter, go to VirtualBox -> Preferences -> Network -> Host-only Networks and add a Host-only network, if required. If one already exists and you plan to share it, you're all set. If there isn't any, add "vboxnet0". Configure it as described here: VirtualBox Host-Only Networking Configuration.
VM IP Addresses
Conventionally, vboxnet0 IP address is 172.30.0.1. This address is important because the host will add routes to it automatically, so if you want to be able to communicate with the virtual machines created to use this interface, without additional configuration, from the host, then you should give those VMs IP addresses from the 172.30.0.0/16 network.
Do not use 172.20.*.*, it will clash with Marriott's addressing scheme
Good Practice. It is a good idea to use the same Host-only network for all the VMs you create on the same host, provided that you are careful to give those VMs non-overlapping IP addresses. This will allow you to communicate via ssh between any two arbitrary VMs – all you have to do is to start those VMs and they are instantaneously available to each other.
Settings -> Network
Edit "Adapter1" and "Adapter2". Adapter1 should be Host-only and Adapter2 should be NAT. For all adapters:
Enable Network Adapter
Attached to: Host-only Adapter, then NAT
Advanced
Adapter Type Paravirtualized Network (virtio-net)
Promiscuous Mode Deny
MAC Address use default
Cable Connected yes
Click on the "Blue Folder Green Plus" icon.
Folder Path -> Drop Down -> Select the "Other" folder -> This brings up a File browser window.
Browse to the folder you want to expose on the Guest and click Open. The full path of the selected folder should show up in the "Folder Path:" box.
Folder name: leave the default.
No read-only (unless you want to)
What does "auto-mount" mean?
Mounting on the guest (requires guest additions):
- Linux TODO
- Windows 10
Save the Hardware Configuration
At this point, the virtualized hardware configuration is defined, save it.
Linux Guest OS Installation
Select the VM -> Settings -> Storage -> Controller: IDE -> Select drive -> Attributes: Optical Drive: IDE Secondary Master -> click on the Disk icon on the right -> Choose Virtual Disk File -> Select the OS iso file -> OK.
Select the VM -> Right click -> Start -> Normal Start.
The Linux installation program should start. From now on go to RHEL 7/Centos 7 Installation to perform the guest OS installation.
When the OS installation is done, continue with Guest Additions.
RHEL
For RHEL system, register the system with the subscription manager.
Details:
Guest Additions
The guest additions are special software packages that are shipped with VirtualBox but designed to be installed inside a VM to improve the performance of the guest OS and add extra features.
Guest Additions are supposed to be installed inside the virtual machine after the guest operating system has been installed. They are shipped as a CD ISO:
- http://download.virtualbox.org/virtualbox/5.0.4/VBoxGuestAdditions_5.0.4.iso
- http://download.virtualbox.org/virtualbox/5.1.18/VBoxGuestAdditions_5.1.18.iso
Download VBoxGuestAdditions_5.0.4.iso from the same place the hypervisor was downloaded from, then mount the image as a local filesystem: Select the VM -> Settings -> Storage -> Controller IDE -> Disk icon -> Choose Virtual Optical Disk File
Content is found on the guest system as /dev/disk/by-label/VBOXADDITIONS_5.0.4_102546.
Mount it:
mount /dev/disk/by-label/VBOXADDITIONS_5.0.4_102546 /mnt
Installation as root:
yum -y install bzip2 kernel-devel gcc cd /mnt ./VBoxLinuxAdditions.run
There were situations when the execution failed and I had to (adjusting for the current kernel version):
export KERN_DIR=/usr/src/kernels/3.10.0-514.16.1.el7.x86_64
Reboot to Make Sure the Host Starts
Reboot and make sure the host starts.
Linux Clone
This is the procedure to create a clone of a VirtualBox Virtual Machine, including an O/S image.