VMLab: Difference between revisions
No edit summary |
No edit summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 15: | Line 15: | ||
Anyone on the UAS network can access the VM-lab. | Anyone on the UAS network can access the VM-lab. | ||
<H2>Login Info </H2> | <H2>Login Info </H2> | ||
[https://10.0.1.8:8001 Kimchi] | [https://10.0.1.8:8001 Kimchi] | ||
You can use your LDAP credentials. | |||
<br> If you want a specialized machine/template to clone later, ask flay</br> | <br> If you want a specialized machine/template to clone later, ask flay</br> | ||
Line 72: | Line 68: | ||
<br>[[Ovirt]] | <br>[[Ovirt]] | ||
<h2> VM Networking </h2> | |||
For networking it's important to set up a route. | |||
On Ubuntu hosts you must run | |||
```ip route add default via 10.0.1.1 dev #interface_name``` | |||
<h2> Packages available on base vm </h2> | |||
===Centos7=== | |||
net-tools | |||
tmux | |||
vim | |||
<h2> Steps to recreate this lab </h2> | <h2> Steps to recreate this lab </h2> | ||
[[Recreate]] | [[Recreate]] | ||
[[Category:Project]] |
Latest revision as of 15:09, 21 June 2023
VMLAB Overview
The rationale for this implementation was to reduce the barrier for project creation and facilitate ad hoc experimentation. It was my goal to make this minimally intimidating for inexperienced users.
A secondary goal was to make sure this would be as useful as possible for instructors and members who wanted to run in-house services. I thought it easiest if those who were less confident had a familiar interface and I didn't suspect anyone regardless of experience will be offended by a GUI, so I opted for a browser based system.
I did this through a management interface called Kimchi, which is a plugin for the wok webserver (Interacts with nginx). ginger is used as a plugin mgmt system. the whole thing is backed by KVM acting as a hypervisor. Here's a link of just the interface: https://raw.githubusercontent.com/kimchi-project/kimchi/master/docs/kimchi-templates.png
How does it work?
From the web interface, users can create VM's (guests) from template (Pre-made / provisioned VM's), monitor usage, and access the console. That means that any device that can run a web browser can in essence be used as a powerful server or specialized lab environment. This is good for classes, or designing your own services to run in the space.
Anyone on the UAS network can access the VM-lab.
Login Info
You can use your LDAP credentials.
If you want a specialized machine/template to clone later, ask flay
Requesting a VM
Ask flay on slack and tell him exactly what you need. If you're not sure, explain your goal and he'll try to set it up. If you need something more complex feel free to ask for administrative access to make your own. Every student Guest (VM) will be set up via administrator-created template.
Administrator Notes
When creating a new Guest requiring internet access you'll have to add the "phybridge" device (located in kimchi under the admin account) you MUST do this after creating the guest. Create the guest, power it off, edit it, add the bridged adapter, restart. Then you can modify the device to assign a static ip. In the centOS minimal boxes this can be done via the respective /etc/sysconfig/network-scripts/ifcfg-eth file
Don't give Guests names which contain spaces. You'll get insane errors.
Important Paths
This is where all iso images go /var/lib/kimchi/iso's
This is where the XML templates are kept /etc/libvirt/qemu
Importing from OVA
OVA files are a common way to pass around VM's, but you cannot import them directly into a template.
- OVA files are actually archives, so the first step is to extract them (tar -xzf example.ova)
- Convert the virtual disk (.vmdk) into a qcow2 format using an invocation like: qemu-img convert -O qcow2 example.vmdk example.qcow2
TODO
- Document KVM architecture
- Configure Firewalld
- Document Kimchi startup procedure
- Create vmlab architecture diagram
- Set agenda for individual boxes & services plan
VMLABS physical Specs
MODEL:Dell Poweredge R710
OS:Ubuntu CentOS 7 LTS: 3.10.0-327.el7.x86_64
RAM: 190GB
CPU: 2 x Intel Xeon x5560 (2.8GHZ) [1]
HDD: 1.4TB
RAID: 6
Links
: Kimchi
: Wok
: kvm or xen
Ovirt
VM Networking
For networking it's important to set up a route.
On Ubuntu hosts you must run ```ip route add default via 10.0.1.1 dev #interface_name```
Packages available on base vm
Centos7
net-tools tmux vim