有一篇文章在 投影儀系列維基 ,概述了如何安裝 OpenSolaris的 在專用服務器上的幫助Linux和 Xen的. 本文是特別關心那些誰有一個專門的服務器在託管公司, 但沒有選擇安裝任何東西,而是Linux發行.
不幸地, 這尤其是第吸引了數維基垃圾郵件和它消失在海的不良網站的鏈接. 我那篇文章在這裡恢復, 對於那些有興趣.
情景: 您有一個專用服務器 (不僅僅是一個Xen的客人) 與硬盤和網絡連接, 但沒有真正的CD / DVD驅動器和沒有真正葷錦標賽. 你有一個Linux發行版,你想安裝OpenSolaris的. 這是可能的步驟按照本指南.
安裝分為五部分:
- 安裝Xen的/ Linux的一個分區,在服務器上.
- 設置第二個分區的ISO映像,我們將創建. 成立第三個分區, 型 Solaris的. 這將主辦一個虛擬機安裝, 首先, 和真正的最終安裝, 稍後. 安裝一個OpenSolaris domU (Xen的客戶機).
- 創建自定義的OpenSolaris的生活CD的開機腳本可以找到ISO映像分區上的高清, 它的轉儲到您創建的分區.
- 創建一個新的ZFS文件系統在您domU的根池保持ISO映像的內核和微根 (內存磁盤). 設置GRUB的使用它們.
- 重新啟動並執行您的最終安裝在Solaris分區!
部分 1. Xen的安裝/ Linux的
創建基本安裝
有Linux與Xen的支持 (dom0的, 又名. 主人) 您的服務器上安裝. 具體步驟執行此操作取決於您的託管服務提供商; 這裡就是你做的 投影儀系列:
- 打開 “經理” Web應用程序, 選擇您所需的服務器, 點擊 “服務”.
- 點擊 “重新安裝 / 更改操作系統”.
- 選擇 “Linux的”, “基地分佈”, “Debian的 5.0 (萊尼)”, “64 位”.
- 創建一個 ext3分區的主 2-4 GB的. 2 GB的應該是足夠; 您可為大,如果你要進行額外的步驟/自定義, 不只是那些這裡概述.
- 如果你要, 創建交換分區的任何您認為合適的大小. 這將被刪除,最後的程序.
自定義並添加Xen的
distroconst.tar.gz 包含的文件需要改變生成過程的改性活OpenSolaris的光碟, 一會兒 linuxroot.tar.gz 包含支持在Linux中使用的文件.
如果你想, 複製你的SSH密鑰遠程服務器上,使密碼的操作:
REMIP=94.11.22.33
# Copy SSH key
scp .ssh/usual.pub root@$REMIP:.ssh/authorized_keys
那麼, 使用SSH登錄到您的Linux遠程服務器, Xen和安裝需要重新配置:
wget http://cr.opensolaris.org/~e.p/remote-install/distroconst.tar.gz
wget http://cr.opensolaris.org/~e.p/remote-install/linuxroot.tar.gz
tar xvfz linuxroot.tar.gz
apt-get update
mkdir /boot/grub
# We switch to Grub and remove named; we'll need the dns port for dnsmasq.
apt-get install lilo- bind9- grub xen-linux-system-2.6.26-2-xen-amd64 \
wget libvirt-bin qemu psmisc less dnsmasq shorewall-perl bridge-utils \
parted ethtool xauth
等待安裝完成, 回答任何問題,在這個過程中, 並繼續:
# Configure the internal network for virtual machines.
cat >>/etc/network/interfaces <<EOF
auto virbr0
iface virbr0 inet static
address 192.168.122.1
netmask 255.255.255.0
network 192.168.122.0
broadcast 192.168.122.255
pre-up brctl addbr virbr0
pre-up ethtool -K virbr0 tx off
post-down brctl delbr virbr0
EOF
# Configure shorewall so that virtual machines can talk to the Internet using NAT.
SHW=/etc/shorewall
echo startup=1 >> /etc/default/shorewall
echo IP_FORWARDING=On >> /etc/shorewall/shorewall.conf
cat > $SHW/zones <<EOF
fw firewall
net ipv4
vir ipv4
EOF
cat > $SHW/interfaces <<EOF
net eth0
vir virbr0
EOF
cat > $SHW/policy <<EOF
fw all ACCEPT
vir all ACCEPT
all fw ACCEPT
all all REJECT
EOF
cat > $SHW/masq <<EOF
eth0 virbr0
EOF
# Reconfigure dnsmasq
cat >>/etc/dnsmasq.conf <<EOF
interface=virbr0
dhcp-range=192.168.122.64,192.168.122.127,12h
EOF
# Is everything OK? Go ahead, then.
grub-install /dev/sda
reboot
您應該能夠ping到服務器並輸入再次通過SSH. 命令 “uname - a的” 必須表明,你正在運行的Xen,化了內核.
部分 2. 添加分區, 安裝OpenSolaris的domU
ssh - X低到你的Linux服務器. 請記住,使用- X到了X11的連接; 您需要,對OpenSolaris的安裝.
如果您已經創建了一個交換分區在安裝時, 禁用:
swapoff /dev/sda2
啟動您最喜愛的分區工具 (cfdisk, 例如). 刪除交換分區, 如果有的話.
創建一個小sda2分區將包含修改後的現場圖片; 800MB的是一個合理的規模. 它的類型無關, 它可以保持Linux的; 只有確保該類型不是Solaris的, 因為只能有一個Solaris分區在每個硬盤.
分配剩餘的可用空間,sda3, 使其成為一個大的Solaris分區.
你最終將與此類似:
sda1 Boot Primary Linux ext3 [/] 4194.90
sda2 Logical Linux 797.86
sda3 Primary Solaris2 230003.51
請確保您使用的分區類型高爐的Solaris,而不是過時 82 (會引發錯誤的安裝程序: http://defect.opensolaris.org/bz/show_bug.cgi?id=4872)
下載並啟動OpenSolaris的客人
鍵入以下命令:
# Download OpenSolaris
wget -o osol-0906-x86.iso http://dlc.sun.com/osol/opensolaris/2009/06/osol-0906-x86.iso
# Reconfigure Xen for libvirt-bin
echo '(xend-unix-server yes)' >> /etc/xen/xend-config.sxp
/etc/init.d/xend restart
# Start VM
virsh create linuxroot/cd-osol.xml
virsh console osol
回答最初的問題 (默認值都很好) 然後轉到登錄提示.
請記住,只有用戶 “jack” 可以登錄到生活CD, 使用密碼 “ja傑克8221;.
啟用SSH服務器
svcadm enable ssh
等待虛擬機分配自己的IP地址通過DHCP的dnsmasq的. 看看已經發生的 “/sbin/ifconfig xnf0″ 在 VM內, or quit the console by pressing Ctrl-] 並期待在/ var /日誌/系統日誌在Linux主機. 當地址已分配成功, 你會看到一個DHCPACK線.
確保您迅速地在Linux機器並發出以下命令, 需要糾正的IP地址:
VMIP=192.168.122.84
ssh -X jack@$VMIP pfexec gui-install
回答問題,並開始安裝. 當它完成, 不按 “重新啟動”. 代替, 關閉安裝程序,並發出以下命令在Linux shell提示:
ssh jack@$VMIP 'pfexec sh -c "set -x; \
/usr/sbin/zpool import -f rpool || true; \
/usr/sbin/zfs set mountpoint=/newroot rpool/ROOT/opensolaris; \
/usr/sbin/zfs mount rpool/ROOT/opensolaris; \
(cd /newroot/platform; \
tar cf - \`find i86xpv -name unix\` \`find i86pc -name boot_archive\`); \
/usr/sbin/zfs set mountpoint=/ rpool/ROOT/opensolaris; \
/usr/sbin/zpool export rpool"' \
| tar xf -
這將複製內核和引導檔案的新虛擬機上安裝Linux系統, 使Xen可以引導它.
完成發行:
ssh jack@$VMIP "pfexec /sbin/init 6 &"
(越南船民的定義,以便成立, 在重新啟動, Xen的不重新啟動域, 而是將它摧毀). 檢查的 VM真的關閉: 發行
virsh list
只顯示 “大教堂-0″, 而不是 “osol”.
部分 3. 創建生活CD
注意:: 我們假設你想這樣做的虛擬機, 節省您的麻煩,幾乎一上載容量. 如果您的Internet連接不會有一個相當快的上游環節, 這是要走的路. 看看下面的替代.
當虛擬機已經關閉, 引導它從rpool在硬盤上:
virsh create linuxroot/hd-osol.xml
當它啟動起來,得到的是知識產權 (見上文它如何檢查), 我們需要告訴OpenSolaris的建設新的文件系統, 有解壓distroconst.tar.gz, 並開始建設的CD.
# Remove old SSH public key for server
rm -f .ssh/known_hosts
VMUSER=ep
cat distroconst.tar.gz | ssh $VMUSER@$VMIP 'pfexec sh -c "\
set -x; \
export PKG_CACHEDIR=/var/pkg/download; \
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/gnu/bin; \
/usr/bin/pkg install SUNWdistro-const; \
/usr/sbin/zfs create rpool/constructor || true; \
/usr/sbin/zfs set mountpoint=/constructor rpool/constructor; \
cd /constructor; \
/usr/gnu/bin/tar xfz - ; \
/usr/bin/distro_const build ./slim_cd_x86.xml"'
是什麼在distroconst.tar.gz?
該文件包含一個修改版本的OpenSolaris的建立表明該標準的live CD. The modifications are the following:
- 它運行後的add_driver_aliases.sh腳本安裝包
- 那麼, 它運行延長生存期,財政司司長,root.sh腳本
add_driver_aliases.sh 是你要調整你的驅動程序,以便確定系統啟動. 在這種情況下它四件事, 所有旨在提高兼容性與投影儀系列的硬件平台Kimsufi加大碼:
- 替換 ‘埃’ 司機在111b條的版本 116, 摘自SXCE -正常工作所需要的Kimsufi XL的主板;
- 使埃司機為MCP78S;
- 使AHCI趨動程式的MCP78S;
- 禁用微星作為一種變通方法的錯誤,在MCP78S的AHCI支持.
延長生存期,財政司司長,root.sh, 另一方面,:
- 提出了listhd實用到圖像;
- 補丁活,財政司司長根服務的方法,以便它看起來在高清分區的實況圖像.
您可能想要做不同的事情; 例如, 取代 “傑克”‘密碼與自定義一, 等.
裁談會複製其最終目的地
在結束進程, 你將有OpenSolaris.iso形象/構造/媒體內部的虛擬機. 如果你不想通過構建過程,你已經有這樣的修改後的圖像 (它不僅是股市生活CD!), 你可以下載它有.
然後推到它的分區:
ssh $VMUSER@$VMIP 'pfexec sh -c "set -x; \
/usr/bin/dd if=/constructor/media/OpenSolaris.iso \
of=/dev/rdsk/c7t0d0p2 bs=8192k"'
部分 4. 設置引導裝載程序
我們需要提取內核和microroot從這個現場CD和它們複製到ZFS根池.
ISADIR=/amd64
(cat <<EOF
default 0
timeout 5
title Live image boot
findroot (pool_rpool,2,a)
bootfs rpool/liveboot
kernel\$ /platform/i86pc/kernel${ISADIR}/unix -B livemode=text,livessh=enable
module\$ /boot${ISADIR}/x86.microroot
EOF
) | ssh $VMUSER@$VMIP 'ISADIR=amd64/ \
ISO=/dev/dsk/c7t0d0p2 \
MOUNTPOINT=/tmp/iso.$$ \
DISK=/dev/rdsk/c7t0d0s0 \
pfexec sh -c "set -x; \
mkdir -p \$MOUNTPOINT; \
/sbin/mount -F hsfs -o ro \$ISO \$MOUNTPOINT; \
/usr/sbin/zfs create rpool/liveboot || true; \
/usr/sbin/zfs set mountpoint=/liveboot rpool/liveboot; \
( cd \$MOUNTPOINT; \
tar cf - \`find . -name unix\` \`find . -name x86.microroot\` ) \
| ( cd /liveboot; tar xf - ); \
/bin/sync; \
/sbin/umount \$MOUNTPOINT; \
/bin/rmdir \$MOUNTPOINT; \
cat > /rpool/boot/grub/menu.lst; \
/sbin/installgrub -fm /boot/grub/stage1 /boot/grub/stage2 \$DISK "'
我們在這裡所做的在OpenSolaris 虛擬機:
- 我們準備了掛載點並掛載ISO映像;
- 我們創建了一個新的文件系統, 被呼叫的 “liveboot”, 在根池;
- 我們提取內核和microroots到新的文件系統;
- 我們卸下了ISO;
- 我們覆蓋GRUB的配置單一,選擇啟動菜單,這個內核和microroot;
- 我們運行installgrub並覆蓋膜生物反應器.
最後,, 關閉世界杯 ,:
ssh $VMUSER@$VMIP 'pfexec /sbin/init 6 &'
部分 5. 重新啟動的Linux / Xen的機器和安裝
重新啟動你的Linux機器. 在一段時間,你應該能ping服務器, 和ssh - X到它作為 “傑克”.
從那裡, 經過通常的 “pfexec貴安裝” 常規. 只需確保不要觸摸你的分區傾倒的生活CD (因為安裝程序需要它, 因為它可能成為後來是有用的,如果出現發生衝突).
相關崗位:
