OpenStack--Ubuntu
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
server1
-----------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
0.
sudo apt-get update
sudo apt-get upgrade
1.
sudo apt-get install -y bridge-utils
2.
--------------------------------------
sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.120
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.10
auto br100
iface br100 inet static
bridge_ports eth1
bridge_stp off
bridge_maxwait 0
bridge_fd 0
address 192.168.3.1
netmask 255.255.255.0
broadcast 192.168.255.255
---------------------------------------
sudo vi /etc/network/interfaces
search smartmap
nameserver 218.30.19.40
nameserver 192.168.0.3
3.
sudo /etc/init.d/networking restart
4.
sudo apt-get install -y ntp
5.
sudo vi /etc/ntp.conf
server ntp.ubuntu.com
server 127.127.1.0
fudge 127.127.1.0 stratum 10
6.
sudo /etc/init.d/ntp restart
7.
sudo apt-get install -y mysql-server
8.
sudo vi /etc/mysql/my.cnf
bind-address = 0.0.0.0
9.
sudo restart mysql
10.
sudo apt-get install -y glance
10.1
sudo mysql -u root -p -e 'CREATE DATABASE glance;'
10.2
sudo mysql -u root -p -e 'CREATE USER glancedbadmin;'
10.3
sudo mysql -u root -p -e "GRANT ALL PRIVILEGES ON glance.* TO 'glancedbadmin'@'%' ;"
10.4
sudo mysql -u root -p -e "SET PASSWORD FOR 'glancedbadmin'@'%' = PASSWORD('zyx');"
11.
sudo vi /etc/glance/glance-registry.conf
sql_connection = mysql://glancedbadmin:zyx@192.168.1.120/glance
12
sudo restart glance-registry
13
sudo apt-get install -y rabbitmq-server nova-common nova-doc python-nova nova-api nova-network nova-volume nova-objectstore nova-scheduler nova-compute
14
sudo apt-get install -y euca2ools
15
sudo apt-get install -y unzip
15.1
sudo mysql -u root -p -e 'CREATE DATABASE nova;'
15.2
sudo mysql -u root -p -e 'CREATE USER novadbadmin;'
15.3
sudo mysql -u root -p -e "GRANT ALL PRIVILEGES ON nova.* TO 'novadbadmin'@'%' ;"
15.4
sudo mysql -u root -p -e "SET PASSWORD FOR 'novadbadmin'@'%' = PASSWORD('zyx');"
16.
sudo vi /etc/nova/nova.conf
--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--state_path=/var/lib/nova
--lock_path=/var/lock/nova
--verbose
--s3_host=192.168.1.120
--rabbit_host=192.168.1.120
--cc_host=192.168.1.120
--nova_url=http://192.168.1.120:8774/v1.1/
--fixed_range=192.168.0.0/16
--network_size=8
--routing_source_ip=192.168.1.120
--sql_connection=mysql://novadbadmin:zyx@127.0.0.1/nova
--glance_api_servers=192.168.3.1:9292
--image_service=nova.image.glance.GlanceImageService
--iscsi_ip_prefix=192.168.
--vlan_interface=br100
--public_interface=eth0
另作参考
/etc/nova/nova.conf
--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--state_path=/var/lib/nova
--lock_path=/var/lock/nova
--flagfile=/etc/nova/nova-compute.conf
--verbose
#
--sql_connection=mysql://novadbuser:novaDBsekret@172.17.0.133/nova
#
--network_manager=nova.network.manager.FlatDHCPManager
--flat_network_bridge=br100
--flat_injected=False
--flat_interface=eth0
--public_interface=eth0
#
--vncproxy_url=http://172.17.0.133:6080
--daemonize=1
--rabbit_host=172.17.0.133
--osapi_host=172.17.0.133
--ec2_host=172.17.0.133
--image_service=nova.image.glance.GlanceImageService
--glance_api_servers=172.17.0.133:9292
--use_syslog
17.
sudo apt-get -y install iscsitarget iscsitarget-dkms
18
sudo sed -i 's/false/true/g' /etc/default/iscsitarget
19
sudo service iscsitarget restart
20
20.1
sudo pvcreate /dev/sda5
20.2
sudo vgcreate nova-volumes /dev/sda5
20.3
sudo chown -R root:nova /etc/nova
sudo chmod 644 /etc/nova/nova.conf
20.4
sudo restart libvirt-bin; sudo restart nova-network; sudo restart nova-compute; sudo restart nova-api; sudo restart nova-objectstore; sudo restart nova-scheduler; sudo restart nova-volume; sudo restart glance-api; sudo restart glance-registry
sudo restart libvirt-bin;
sudo restart nova-network;
sudo restart nova-compute;
sudo restart nova-api;
sudo restart nova-objectstore;
sudo restart nova-scheduler;
sudo restart nova-volume;
sudo restart glance-api;
sudo restart glance-registry
21
sudo nova-manage db sync
22
sudo nova-manage network create private 192.168.3.0/24 1 256
23
sudo nova-manage floating create --ip_range=192.168.0.224/27
24
sudo nova-manage user admin novaadmin
------------------------------------------
export EC2_ACCESS_KEY=8fd58eb3-11f6-4131-9c8b-6d3e83119a9c
export EC2_SECRET_KEY=a3201eba-0cdf-43ca-88da-4e4ccbafea5f
---------------------------------------------------------
25
sudo nova-manage project create proj novaadmin
26
sudo restart libvirt-bin; sudo restart nova-network; sudo restart nova-compute; sudo restart nova-api; sudo restart nova-objectstore; sudo restart nova-scheduler; sudo restart nova-volume; sudo restart glance-api; sudo restart glance-registry
27
mkdir /home/zyx/creds
28
sudo nova-manage project zipfile proj novaadmin /home/zyx/creds/novacreds.zip
29
cd /home/zyx/creds
unzip novacreds.zip
sudo chown zyx:zyx /home/zyx/creds/ -R
30
sudo nova-manage user exports novaadmin
---------------------------------------------
export EC2_ACCESS_KEY=8fd58eb3-11f6-4131-9c8b-6d3e83119a9c
export EC2_SECRET_KEY=a3201eba-0cdf-43ca-88da-4e4ccbafea5f
------------------------------------------------------------
31
sudo vi novarc
Open the novarc file and replace the line
export EC2_ACCESS_KEY="novaadmin:proj"
with
export EC2_ACCESS_KEY="8fd58eb3-11f6-4131-9c8b-6d3e83119a9c:proj"
32
source /home/zyx/creds/novarc
33
euca-describe-availability-zones verbose
--------------------------------------------------------
1
sudo apt-get install swift swift-proxy memcached swift-account swift-container swift-object
2
sudo apt-get install xfsprogs curl
3
sudo fdisk /dev/sdb
4
sudo mkfs.xfs -i size=1024 /dev/sdb1
sudo tune2fs -l /dev/sdb1 |grep -i inode
5
sudo mkdir /mnt/sdb1
6
sudo vi /etc/fstab
/dev/sdb1 /mnt/sdb1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 0
7
sudo mkdir /mnt/sdb1
-------------------------------------------------------------------
1.
sudo apt-get install -y bzr
2.
sudo easy_install virtualenv
3.
sudo bzr init-repo .
4.
sudo bzr branch lp:openstack-dashboard -r 46 /opt/osdb
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
server2
-----------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
1.
sudo apt-get install -y bridge-utils
2.
sudo vi /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
# auto eth0
# iface eth0 inet dhcp
auto eth0
iface eth0 inet static
address 192.168.1.130
netmask 255.255.255.0
gateway 192.168.1.10
auto br100
iface br100 inet static
bridge_ports eth1
bridge_stp off
bridge_maxwait 0
bridge_fd 0
address 192.168.3.2
netmask 255.255.255.0
broadcast 192.168.255.255
3.
sudo /etc/init.d/networking restart
4.
sudo apt-get install -y ntp
5.
sudo vi /etc/ntp.conf
server 192.168.0.120
6.
sudo /etc/init.d/ntp restart
7.
sudo apt-get install -y nova-common python-nova nova-compute vlan
8.
sudo apt-get install -y euca2ools
9.
sudo apt-get install -y unzip
10.
sudo vi /etc/nova/nova.conf
--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--state_path=/var/lib/nova
--lock_path=/var/lock/nova
--state_path=/var/lib/nova
--verbose
--s3_host=192.168.0.120
--rabbit_host=192.168.0.120
--cc_host=192.168.0.120
--network_size=8
--routing_source_ip=192.168.0.120
--sql_connection=mysql://root:zyx@192.168.0.120/nova
--glance_api_servers=192.168.3.1:9292
--image_service=nova.image.glance.GlanceImageService
--iscsi_ip_prefix=192.168.
--vlan_interface=br100
11.
sudo restart nova-compute
11.(在Service1上)
euca-describe-availability-zones verbose
-----------------------------------------------------------
AVAILABILITYZONE nova available
AVAILABILITYZONE |- ubuntuServer
AVAILABILITYZONE | |- nova-network enabled :-) 2012-01-08 02:46:27
AVAILABILITYZONE | |- nova-compute enabled :-) 2012-01-08 02:46:36
AVAILABILITYZONE | |- nova-scheduler enabled :-) 2012-01-08 02:46:35
AVAILABILITYZONE | |- nova-volume enabled :-) 2012-01-08 02:46:36
AVAILABILITYZONE |- ubuntuServer2
AVAILABILITYZONE | |- nova-compute enabled :-) 2012-01-08 02:46:35
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
client
-----------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
1.
sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback
# The primary network interface
# auto eth0
# iface eth0 inet dhcp
auto eth0
iface eth0 inet static
address 192.168.1.150
netmask 255.255.255.0
gateway 192.168.1.1
2.
sudo /etc/init.d/networking restart
3.
sudo apt-get install -y ntp
4.
sudo vi /etc/ntp.conf
server 192.168.0.120
5.
sudo /etc/init.d/ntp restart
6.
sudo apt-get install -y euca2ools
7.
sudo apt-get install -y qemu-kvm
8.
sudo apt-get install -y unzip
8.
mkdir /home/zyx/creds
cd /home/zyx/creds
scp zyx@192.168.1.120:/home/zyx/creds/novacreds.zip . // 1032d205-9237-41c3-b072-ff8b11de5e8e
unzip novacreds.zip
9.
source novarc
euca-describe-availability-zones verbose
10.
vi .profile
source /home/zyx/creds/novarc
----------------------------------------------------------------------------------------------------------------
Desktop-VNC
-----------------------------------------------------------------------------------------------------------------
1.
sudo apt-get update
2.The instructions are same as converting a normal server install to a desktop one. Gnome 3 is the default in 11.10, so you can just run the following(press Ctrl – Alt – T to open Terminal)
sudo apt-get install ubuntu-desktop
sudo startx
3.(optional)
apt-get install gdm
4.
sudo apt-get install -y vnc4server
5.
su - zyx
6.
vncpasswd
7.
vncserver :1
vncserver -kill :1
8.
vi .vnc/xstartup
# add follows
exec gnome-session &
6.
vncserver :1 -geometry 1280x800 -depth 24
vncserver -kill :1
8.
sudo dpkg -l | grep vnc
sudo apt-cache search vnc
sudo apt-get install xvnc4viewer
---------------------------------------------------------------------------
LVM--Mount
---------------------------------------------------------------------------
1.安装lvm2
sudo apt-get install lvm2
2.
sudo fdisk -l
------------结果---------
Device Boot Start End Blocks Id System
/dev/sda1 2048 3905535 1951744 82 Linux swap / Solaris
/dev/sda2 3905536 5859327 976896 83 Linux
/dev/sda3 5859328 35155967 14648320 8e Linux LVM
/dev/sda4 * 35155968 41940991 3392512 83 Linux
3.
partprobe
------------结果---------
4.PV阶段
sudo pvscan
sudo pvcreate /dev/sda3
sudo pvscan
sudo pvdisplay
--- Physical volume ---
PV Name /dev/sda3
VG Name lvmfsvg
PV Size 13.97 GiB / not usable 1.00 MiB
Allocatable yes (but full)
PE Size 16.00 MiB
Total PE 894
Free PE 0
Allocated PE 894
PV UUID PqPT3V-42Ls-fDNS-Govj-jqd1-8Y3E-TGplzJ
5.VG阶段
sudo vgcreate -s 16M lvmfsvg /dev/sda3
sudo vgscan
sudo vgdisplay
--- Volume group ---
VG Name lvmfsvg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 13.97 GiB
PE Size 16.00 MiB
Total PE 894
Alloc PE / Size 894 / 13.97 GiB
Free PE / Size 0 / 0
VG UUID 6xdlAb-UfZf-imgz-VBp1-mbgF-Veep-U1PVSI
5.LV阶段
sudo lvcreate -l 894 -n lvmfslv lvmfsvg
sudo ll /dev/lvmfsvg/lvmfslv
sudo lvdisplay
--- Logical volume ---
LV Name /dev/lvmfsvg/lvmfslv
VG Name lvmfsvg
LV UUID uXPGlQ-YKpR-UFtW-XvfM-o7iC-ahEk-TBvMt2
LV Write Access read/write
LV Status available
# open 1
LV Size 13.97 GiB
Current LE 894
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
6.文件系统阶段
sudo mkfs -t ext4 /dev/lvmfsvg/lvmfslv
sudo mount /dev/lvmfsvg/lvmfslv /mnt/lvm
sudo df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda4 3339208 693716 2475868 22% /
udev 1023796 4 1023792 1% /dev
tmpfs 412324 280 412044 1% /run
none 5120 0 5120 0% /run/lock
none 1030808 0 1030808 0% /run/shm
/dev/sda2 961528 180644 732040 20% /var
/dev/mapper/lvmfsvg-lvmfslv
14417392 166816 13518212 2% /mnt/lvm
---------------------------------------------------------------------------
Create Image
---------------------------------------------------------------------------
1.
sudo apt-get install kvm-pxe
2.
cd /mnt/lvm
3.
kvm-img create -f raw server.img 5G
4.
sudo kvm -m 512 -cdrom /dev/cdrom -drive file=server.img,if=scsi,index=0 -boot d -net nic -net user -nographic -vnc :0
5.
vncviewer 192.168.1.120:5900
安装系统
使用一个EXT4分区到/
安装OpenSSH
6.
sudo kvm -m 256 -drive file=server.img,if=scsi,index=0,boot=on -boot c -net nic -net user -nographic -vnc :0
7.
vncviewer 192.168.1.120:5900
7.1
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install openssh-server cloud-init
----------------------------------------------------------------------------------------------
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
--------------------
nameserver 10.0.2.3
-----------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
让虚拟机中的虚拟机上外网
------------------------------------------------------------------------------------
1.
sudo apt-get install uml-utilities
2.
sudo tunctl -b -u root
3.
sudo ifconfig tap0 up
4.
sudo route add -host 10.0.2.15 dev tap0
1.
route add -host <ip-of-host> dev <network-interface>
route add default gw <ip-of-host>
ping
-------------------------------------------------------------------------------------
Upload Image--Run Instance
-------------------------------------------------------------------------------------
1.
euca-bundle-image -i server.img
2.
euca-upload-bundle -b mybucket -m /tmp/server.img.manifest.xml
3.
euca-register mybucket/server.img.manifest.xml
----------------------------
可将1\2\3
合并成这样:
uec-publish-tarball ubuntu-11.04-server-cloudimg-amd64.tar.gz ubuntubucket x86_64
uec-publish-image -t image --kernel-file boot/vmlinuz-3.0.0-12-server --ramdisk-file boot/initrd.img-3.0.0-12-server amd64 serverfinal.img mybucket
4.
euca-describe-images
---------------------------------------------
MAGE ami-00000001 mybucket/server.img.manifest.xml uploading private x86_64 machine instance-store
5.
cd ~/creds
euca-add-keypair mykey > mykey.priv
chmod 600 mykey.priv
6.
euca-describe-keypairs
7.
euca-run-instances ami-00000001 -k mykey -t m1.tiny
8.
euca-describe-instances
---------------------------------------------
RESERVATION r-d2ulnjeu proj default
INSTANCE i-00000001 ami-00000001 192.168.3.3 192.168.3.3 pending mykey (proj, Server2) 0 m1.tiny 2012-01-15T13:43:13Z nova ami-00000000 ami-00000000
9.
euca-get-console-output i-00000001
---------------------------------------------------------
10.
euca-allocate-address
---------------------------------
ADDRESS 192.168.1.224
11.
euca-associate-address -i i-00000001 192.168.1.224
12.
nova list
12.
euca-authorize default -P tcp -p 22 -s 0.0.0.0/0
13.
euca-authorize default -P icmp -t -1:-1
14.
ssh -i mykey.pem zyx@192.168.1.224
15.
euca-terminate-instances i-00000005
------------------------------------------------------------------------
------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
其它
-----------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
1.
wget http://uec-images.ubuntu.com/server/releases/natty/release/ubuntu-11.04-server-uec-amd64.tar.gz
2.
uec-publish-image -t image --kernel-file boot/vmlinuz-3.0.0-12-server --ramdisk-file boot/initrd.img-3.0.0-12-server amd64 serverfinal.img mybucket
cloud-publish-image -t image --kernel-file vmlinuz-3.0.0-12-server --ramdisk-file initrd.img-3.0.0-12-server amd64 serverfinal.img mybucket
uec-publish-tarball /home/zyx/creds/ubuntu-11.04-server-cloudimg-amd64.tar.gz images
cloud-publish-tarball /home/zyx/creds/ubuntu-11.04-server-cloudimg-amd64.tar.gz images
uec-publish-tarball /home/zyx/creds/ubuntu-11.04-server-cloudimg-amd64.tar.gz ubuntu1010-bucket x86_64
3.
$> sudo apt-get install -y glance
$> sudo glance-control glance-api start
4.
sudo apt-get install xen-hypervisor-4.1-amd64 xen-utils-4.1 xenwatch xen-tools xen-utils-common xenstore-utils
sudo apt-get install virtinst virt-viewer virt-manager
sudo update-grub
5.
5.1.
sudo mkfs -t ext4 -c /dev/sdb1
5.2.
vi /etc/fstab
/dev/sdb1 /mnt/sdb1 ext4 defaults 0 0
5.3.
sudo mount -a
6.
sudo mkfs.xfs -f -d agcount=32 -l size=131072b /dev/vda
7.
virt-install --name myWinXP --ram 512 --disk path=/tmp/winxp.img,size=6 --vnc --os-variant winxp --cdrom /dev/sr0
sudo virt-install --connect qemu:///system -n xpsp2 -r 512 -f windows.qcow2 -s 12 -c windowsxpsp2.iso --vnc --noautoconsole --os-type windows --os-variant winxp
sudo virt-install --connect qemu:///system -n hardy -r 512 -f hardy.qcow2 -s 12 -c hardy-server-amd64.iso --vnc --noautoconsole --os-type linux --os-variant ubuntuHardy --accelerate --network=network:default
sudo virt-install --name ubuntuISO --connect qemu:///system -r 512 -f /mnt/lvm/server.img -c /home/zyx/Downloads/ubuntu-11.10-server-amd64.iso --graphics vnc,port=5900,password=ibm2008 --os-type linux --os-variant ubuntuHardy
sudo virt-install --name ubuntu --ram 512 --disk path=/mnt/lvm/server.img,size=6 --vnc --os-variant winxp --c /home/zyx/Downloads/ubuntu-11.10-server-amd64.iso
sudo virt-install --connect qemu:///system -n xpsp2 -r 512 -f windows.qcow2 -s 12 -c windowsxpsp2.iso --vnc --noautoconsole --os-type windows --os-variant winxp
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
http://wiki.openstack.org/FlagsGrouping
http://wiki.openstack.org/InstallFromSource
http://wiki.openstack.org/NetworkServicePOC?highlight=%28FlatDHCPManager%29