Joyent SmartOS VM MYSQL Setup
I just played around with the new SmartOS from Joyent ( Homepage ). I followed a basic tutorial from a Blog called opusmagnus to setup my basic SmartOS Machine on Virtualbox. You basically just have to insert the latest iso image and startup the VM (SmartOS is a system that runs from a live Medium – an DVD- or USB Image, so all your harddisk belongs to your VMs).
I will just summarize the basic steps to setup a basic VM for Mysql (you should also read the original post here).
After you installed your VM (setup Networking/ZFS Pool – you should use >3 virtual harddisks), you login into your new system and perfom the following steps:
Check for VM-Templates to install:
# dsadm avail UUID OS PUBLISHED URN 9dd7a770-59c7-11e1-a8f6-bfd6347ab0a7 smartos 2012-02-18 sdc:sdc:percona:1.3.8 467ca742-4873-11e1-80ea-37290b38d2eb smartos 2012-02-14 sdc:sdc:smartos64:1.5.3 7ecb80f6-4872-11e1-badb-3f567348a4b1 smartos 2012-02-14 sdc:sdc:smartos:1.5.3 1796eb3a-48d3-11e1-94db-3ba91709fad9 smartos 2012-01-27 sdc:sdc:riak:1.5.5 86112bde-43c4-11e1-84df-8f7fd850d78d linux 2012-01-25 sdc:sdc:centos6:0.1.1 ... 5fef6eda-05f2-11e1-90fc-13dac5e4a347 smartos 2011-11-03 sdc:sdc:percona:1.2.2 d91f80a6-03fe-11e1-8f84-df589c77d57b smartos 2011-11-01 sdc:sdc:percona:1.2.1 ... 9199134c-dd79-11e0-8b74-1b3601ba6206 smartos 2011-09-12 sdc:sdc:riak:1.4.1 3fcf35d2-dd79-11e0-bdcd-b3c7ac8aeea6 smartos 2011-09-12 sdc:sdc:mysql:1.4.1 ... 7456f2b0-67ac-11e0-b5ec-832e6cf079d5 smartos 2011-04-15 sdc:sdc:nodejs:1.1.3 febaa412-6417-11e0-bc56-535d219f2590 smartos 2011-04-11 sdc:sdc:smartos:1.3.12
I choose a percona VM (that is a VM with MySQL and some Backup Stuff pre-install – more here).
# dsadm import a9380908-ea0e-11e0-aeee-4ba794c83c33 a9380908-ea0e-11e0-aeee-4ba794c83c33 doesnt exist. continuing with install a9380908-ea0e-11e0-aeee-4ba794c83c33 successfully installed
Then you need to create a basic VM-Config file /tmp/percona-vm:
{ "alias": "percona-vm", "brand": "joyent", "dataset_uuid": "a9380908-ea0e-11e0-aeee-4ba794c83c33", "dns_domain": "haussleiter.de", "quota": "10", "nics": [ { "nic_tag": "admin", "ip": "192.168.178.42", "netmask": "255.255.255.0", "gateway": "192.168.178.1" } ] }
You are now able to create your VM:
# vmadm create -f /tmp/percona-vm Successfully created df4108a7-c3af-4372-b959-6066c70661e9
You can check if your new VM is running:
# vmadm list UUID TYPE RAM STATE ALIAS df4108a7-c3af-4372-b959-6066c70661e9 OS 256 running percona-vm # ping 192.168.178.42 192.168.178.42 is alive
You can login in your VM (that is a Zone to be precisely with the zlogin command):
# zlogin df4108a7-c3af-4372-b959-6066c70661e9 [Connected to zone 'df4108a7-c3af-4372-b959-6066c70661e9' pts/2]
Becourse i could not found any information about the predifined MySQL Password, i just change it using standard-Mylsq CMDs:
First you need to stop the Mysql Service:
# svcadm disable mysql:percona
Then you need to start Mysql again with skipping the tables for user-credentials.
# mysqld_safe --skip-grant-tables &
Enter Mysql CMD-Tools and change the root Password:
# mysql -uroot mysql> use mysql; mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root'; mysql> flush privileges; mysql> quit;
You need to shutdown your MySQL instance:
# prstat PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP ... 10921 root 4060K 3016K cpu2 1 0 0:00:00 0.0% prstat/1 10914 root 3200K 2236K sleep 1 0 0:00:00 0.0% bash/1 10913 root 3172K 2244K sleep 1 0 0:00:00 0.0% login/1 10894 mysql 207M 37M sleep 1 0 0:00:00 0.0% mysqld/27 ...
kill 10894
You now can start the MySQL Daemon again.
# svcadm enable mysql:percona
I hope i will have time to look into more features of SmartOS. It seems to be a great System to Virtualize a lot of differend Service. It also supports virtualizing Windows VMs with KVM.
Did you have to do anything to get your ‘zone’ to be able to access the outside world?
I follow your steps, I can zlogin to the new zone, it can ping the ‘outer’ machine, but nothing beyond that..
This sounds like a routing problem. I will do some more tests during the next week. So i will give some more hints on howto configure the networking stuff.
Just a followup – I found up why I had the problem, in case anyone else treads down this path.
I am trialling SmartOS under VMWare. The VMWare virtual switch disallows promiscuous NICs. Once I re-enabled that, it all worked fine (though it took me some time to figure that out!).