new post 13/10/17
This commit is contained in:
parent
d44da7362e
commit
bfea28c2a7
71
content/the_poor_fella's_kvm_over_ip.md
Normal file
71
content/the_poor_fella's_kvm_over_ip.md
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
Title: The poor fella's KVM over IP
|
||||||
|
Date: 2017-10-13T19:06+02:00
|
||||||
|
Author: Wxcafé
|
||||||
|
Category:
|
||||||
|
Slug: the_poor_fellas_kvm_over_ip
|
||||||
|
|
||||||
|
# Or, how I learned to stop worrying about which hosting providers supported my OS and love QEMU/KVM
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Story part
|
||||||
|
|
||||||
|
So uh recently I was thinking about migrating my main server (the one that
|
||||||
|
hosts, among other things, this website) to a new, improved, cleaner server. The
|
||||||
|
one that runs this is on debian, lived through wheezy, jessie and stretch, and since
|
||||||
|
I've experimented on it a fair bit in the ~4 years it's been running, is
|
||||||
|
littered with weird projects and packages that shouldn't be installed and stuff.
|
||||||
|
Yeah, that's practically the definition of "bad admin practices", but I was
|
||||||
|
young(er) when this server started running.
|
||||||
|
|
||||||
|
Anyway, I was thinking of upgrading to a new server with FreeBSD, and using
|
||||||
|
Jails to isolate the services (it's, uh, still a WIP). Since I like Online.net
|
||||||
|
a lot when it comes to hosting servers (they're relatively cheap and they
|
||||||
|
provide good service, which is all I ask generally), and that they support
|
||||||
|
FreeBSD, I decided to order a server from them and work on the migration over
|
||||||
|
the next few weeks.
|
||||||
|
|
||||||
|
Alas! After ordering the server, it appears they only support FreeBSD on UFS!
|
||||||
|
Since I was born after 1983, I didn't want to use UFS as root on a FreeBSD
|
||||||
|
server, that would be a waste! So, obviously, I decided to use the KVM-over-IP
|
||||||
|
access they provide to load up an ISO and install things my way.
|
||||||
|
|
||||||
|
Well, I was a fool, cause the class of server I ordered (the cheapest) don't
|
||||||
|
have KVM-over-IP! That's a feature reserved for the slightly more expensive
|
||||||
|
ones. But I didn't want to upgrade and pay more per month, so I thought and
|
||||||
|
thought, and I ended up coming with the following solution
|
||||||
|
|
||||||
|
### Technical part
|
||||||
|
|
||||||
|
So the idea is pretty simple: spawn a Qemu VM, with its first disk being the
|
||||||
|
server's physical disk, and the ISO of the OS you want to install. Then perform
|
||||||
|
a simple installation, fix things up a bit (network interface name/IP, stuff
|
||||||
|
like that), reboot, and profit.
|
||||||
|
|
||||||
|
What I did for FreeBSD 11 specifically was
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt install qemu-kvm
|
||||||
|
wget http://ftp.fr.freebsd.org/mirrors/ftp.freebsd.org/releases/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-disc1.iso
|
||||||
|
qemu-system-x86_64 -hda /dev/sda -cdrom FreeBSD-11.1-RELEASE-amd64-disc1.iso -net nic,model=e1000 -curses -boot d
|
||||||
|
```
|
||||||
|
|
||||||
|
Then, do the install in the, uh, even-uglier-than-usual environment of the
|
||||||
|
curses Qemu interface. Nothing special about this, it's a standard FreeBSD
|
||||||
|
install. Afterwards, spawn a shell, edit /etc/rc.conf
|
||||||
|
|
||||||
|
```
|
||||||
|
ifconfig_igb0="inet xxx.xxx.xxx.xxx netmask 255.255.255.0"
|
||||||
|
defaultrouter="xxx.xxx.xxx.xxx"
|
||||||
|
```
|
||||||
|
|
||||||
|
Reboot, and your server should come up. If it doesn't, well, you can always boot
|
||||||
|
the recovery FreeBSD system to see what's wrong, or reinstall and retry.
|
||||||
|
|
||||||
|
Of course, I'm speaking about FreeBSD here but this works with any target OS,
|
||||||
|
linux, FreeBSD, Windows, Haiku, Plan9... whatever.
|
||||||
|
|
||||||
|
It's kinda hacky, but
|
||||||
|
|
||||||
|
## WOЯKƧ ꟻOR MƎ
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user