OpenSolaris有一篇文章在 投影儀系列維基 ,概述了如何安裝 OpenSolaris的 在專用服務器上的幫助Linux和 Xen的. 本文是特別關心那些誰有一個專門的服務器在託管公司, 但沒有選擇安裝任何東西,而是Linux發行.

不幸地, 這尤其是第吸引了數維基垃圾郵件和它消失在海的不良網站的鏈接. 我那篇文章在這裡恢復, 對於那些有興趣.

情景: 您有一個專用服務器 (不僅僅是一個Xen的客人) 與硬盤和網絡連接, 但沒有真正的CD / DVD驅動器和沒有真正葷錦標賽. 你有一個Linux發行版,你想安裝OpenSolaris的. 這是可能的步驟按照本指南.

安裝分為五部分:

  1. 安裝Xen的/ Linux的一個分區,在服務器上.
  2. 設置第二個分區的ISO映像,我們將創建. 成立第三個分區, 型 Solaris的. 這將主辦一個虛擬機安裝, 首先, 和真正的最終安裝, 稍後. 安裝一個OpenSolaris domU (Xen的客戶機).
  3. 創建自定義的OpenSolaris的生活CD的開機腳本可以找到ISO映像分區上的高清, 它的轉儲到您創建的分區.
  4. 創建一個新的ZFS文件系統在您domU的根池保持ISO映像的內核和微根 (內存磁盤). 設置GRUB的使用它們.
  5. 重新啟動並執行您的最終安裝在Solaris分區!

部分 1. Xen的安裝/ Linux的

創建基本安裝

有Linux與Xen的支持 (dom0的, 又名. 主人) 您的服務器上安裝. 具體步驟執行此操作取決於您的託管服務提供商; 這裡就是你做的 投影儀系列:

  1. 打開 “經理” Web應用程序, 選擇您所需的服務器, 點擊 “服務”.
  2. 點擊 “重新安裝 / 更改操作系統”.
  3. 選擇 “Linux的”, “基地分佈”, “Debian的 5.0 (萊尼)”, “64 位”.
  4. 創建一個 ext3分區的主 2-4 GB的. 2 GB的應該是足夠; 您可為大,如果你要進行額外的步驟/自定義, 不只是那些這裡概述.
  5. 如果你要, 創建交換分區的任何您認為合適的大小. 這將被刪除,最後的程序.

自定義並添加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:

  1. 它運行後的add_driver_aliases.sh腳本安裝包
  2. 那麼, 它運行延長生存期,財政司司長,root.sh腳本

add_driver_aliases.sh 是你要調整你的驅動程序,以便確定系統啟動. 在這種情況下它四件事, 所有旨在提高兼容性與投影儀系列的硬件平台Kimsufi加大碼:

  1. 替換 ‘埃’ 司機在111b條的版本 116, 摘自SXCE -正常工作所需要的Kimsufi XL的主板;
  2. 使埃司機為MCP78S;
  3. 使AHCI趨動程式的MCP78S;
  4. 禁用微星作為一種變通方法的錯誤,在MCP78S的AHCI支持.

延長生存期,財政司司長,root.sh, 另一方面,:

  1. 提出了listhd實用到圖像;
  2. 補丁活,財政司司長根服務的方法,以便它看起來在高清分區的實況圖像.

您可能想要做不同的事情; 例如, 取代 “傑克”‘密碼與自定義一, 等.

裁談會複製其最終目的地

在結束進程, 你將有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 虛擬機:

  1. 我們準備了掛載點並掛載ISO映像;
  2. 我們創建了一個新的文件系統, 被呼叫的 “liveboot”, 在根池;
  3. 我們提取內核和microroots到新的文件系統;
  4. 我們卸下了ISO;
  5. 我們覆蓋GRUB的配置單一,選擇啟動菜單,這個內核和microroot;
  6. 我們運行installgrub並覆蓋膜生物反應器.

最後,, 關閉世界杯 ,:

ssh $VMUSER@$VMIP 'pfexec /sbin/init 6 &'

部分 5. 重新啟動的Linux / Xen的機器和安裝

重新啟動你的Linux機器. 在一段時間,你應該能ping服務器, 和ssh - X到它作為 “傑克”.

從那裡, 經過通常的 “pfexec貴安裝” 常規. 只需確保不要觸摸你的分區傾倒的生活CD (因為安裝程序需要它, 因為它可能成為後來是有用的,如果出現發生衝突).

相關崗位:

  1. X服務器與內部的OpenVZ的聲音 / Proxmox容器
  2. Nginx的編譯在Debian / Ubuntu的
  3. 指南: 防火牆和路由器的Proxmox – 擴大使用
  4. 指南: 防火牆和路由器的Proxmox