`

Setup the Solaris diskless root server

阅读更多

Creating an OpenSolaris domU

In this first release, there is no support for virtual disk devices in OpenSolaris domU. What follows is a procedure for creating a diskless client domU.

Setup the Solaris diskless root server for the OpenSolaris domU

Loopback mount the build 31 Solaris DVD ISO image

# mount -F hsfs `lofiadm -a /full/path/to/the/iso/image` /mnt

Create a Solaris root image that the client (the Solaris domU) will boot from using smosservice(1M) to install the client OS services from the DVD image:

dlserver# /usr/sadm/bin/smosservice add -u root -- \
 -x mediapath=/path/to/install/media \
 -x platform=i386.i86pc.Solaris_11 \
 -x cluster=SUNWCXall

Add Clients

Obtain a static IP address and hostname to use for each OpenSolaris domU you want to start.

Now configure each diskless client on the server with:

dlserver# /usr/sadm/bin/smdiskless add -u root -- \
 -i <domU-ipaddr> -e <domU-macaddr> -n <domU-hostname> \
 -x os=i386.i86pc.Solaris_11 \
 -x root=/export/root/<domU-hostname> \
 -x swap=/export/swap/<domU-hostname> \
 -x dump=/export/dump/<domU-hostname>\
 -x swapsize=512 -x dumpsize=512

where <domU-ipaddr> is the IP address that the Solaris domU will use, <domU-hostname> is the corresponding hostname and <domU-macaddr> is the MAC address to assign to the virtual network interface for the Solaris domU. Choose a different MAC address for each client to ensure each virtual network interface will be unique on your subnet.

BFU OpenSolaris over the root image

As a prerequisite, the ON Specific build tools package (SUNWonbld) must be installed on the diskless client server. SPARC and x86 version of the SUNWonbld package are available here.

The Solaris i86xen archives must be bfu'd over the top of the root image(s) and usr image that were created by smosservice(1M).

First create an empty directory for the i86xen kernel bits in each client root filesystem so that bfu knows that these need to be added:

dlserver# mkdir /export/root/<domU-hostname>/platform/kernel/i86xen

At this point, BFU should be used to update the root image for diskless clients using the following syntax (note the -c):

dlserver# /opt/onbld/bin/bfu -c <osox-archive-dir> /export/exec/Solaris_11_i386.all

Then carefully use ACR to resolve any BFU conflicts:

dlserver# /opt/onbld/bin/acr /export/root/<domU-hostname>

Finally, use bootadm(1M) to update the boot archive on the client root image

dlserver# bootadm update-archive -R /export/root/<domU-hostname>

If you do modify and then rebuild the OpenSolaris on Xen code base, BFU should be used in exactly the same way to update the root images and the usr filesystem (/export/exec/Solaris_11_i386.all). Note, however, because that usr filesystem is shared between the clients, that all client roots are (and must be) updated by BFU at the same time.

And Finally …

Back on the dom0 machine, NFS mount the diskless root(s) so that the dom0 domain builder can access them. You will almost certainly have to fiddle with the default restrictive NFS export permissions on dlserver to enable the dom0 kernel to mount them.
On the dom0 box, add an entry like this to /etc/fstab to automatically mount the Solaris domU root image at boot.

dlserver:/export/root    /x/root   nfs   defaults,rw     0 0

Don't forget the mount point!

dom0# mkdir -p /x/root
dom0# mount -a

Create a domain configuration file with entries like the following:

memory = 256
name = "<domU-hostname>"
kernel = "/x/root/<domU-hostname>/platform/i86xen/kernel/unix"
extra = "/platform/i86xen/kernel/unix -B console=xen"
ramdisk = "/x/root/<domU-hostname>/platform/i86pc/boot_archive"
nics = 1
ip = "<domU-ipaddr>"
vif = [ 'mac=<domU-macaddr>, bridge=xenbr0' ]
nfs_root = "dlserver:/export/root/<domU-hostname>"
nfs_server = "<dlserver-ipaddr>"
restart = 'none'

You can now boot the Solaris domain by typing the following command as root on the dom0 kernel:

dom0# xm create -c <config file>

Be patient with the first boot; SMF initialization is not particularly efficient yet on diskless clients, and it may appear to be hung.

Quite a journey, but worth it once you get there!

评论

相关推荐

    Using nfsroot to boot diskless clients on RHEL · Raghu Udiyar

    国外小伙子写的RHEL制作nfs网络pxe启动,还是很不错,按照他的方法绝对不会错!

    diskless-ccboot 2017-crack

    ccboot 2017 破解文件,有兴趣的朋友可以下载下来试试

    数据中心Diskless白皮书202212

    心架构模式——数据中心Diskless架构。文中详细介绍了Diskless架构的定义和关键技 术,以及典型场景下的应用实践和未来的发展趋势。Diskless架构通过存储、算力资源 的彻底解耦和池化共享,实现了数据中心架构的扁平...

    HSM-Diskless

    1、HSM-Diskless是通过局域网引导Windows的软件。 2、支持 W2K3/WXP/W2KSP4 3、服务器的镜像文件作为虚拟磁盘的存储空间,通过网络交互将服务器的镜像文件真实的模拟成客户机的硬盘。 4、客户机通过使用虚拟硬盘可以...

    Absolute FreeBSD: The Complete Guide to FreeBSD, 3rd Edition

    Absolute FreeBSD dives deep into server management, taking you beyond just making things work and into understanding why they work. You’ll learn: How to best install FreeBSD to meet your needs ...

    DisklessSystem:基于Windows Server 2012 R2开发的无盘工作站管理系统

    DisklessSystem 基于Windows Server 2012 R2开发的无盘工作站管理系统

    Absolute.FreeBSD.3rd.Edition.2018.pdf

    The critically-acclaimed FreeBSD guide, now expanded, revised, and updated! FreeBSD is the muscle behind companies from Netflix to EMC. Any place where someone does heavy lifting on the Internet, you...

    Diskless Remote Boot in Linux (DRBL)-开源

    DRBL提供无盘或无系统环境。 它使用分布式硬件资源,并使客户端可以完全访问本地硬件。 它还包括Clonezilla,一个类似于Ghost的分区和磁盘克隆实用程序。

    Diskless Nodes for Unix/Linux-开源

    允许使用模板化的系统配置文件创建和操作无盘Linux(和Unix)客户端,以提高此应用程序的灵活性和兼容性。

    GeDI (GEneric Diskless Installer)-开源

    GEDI,GEneric无盘安装程序,是一组bash脚本,其简单目的是使安装和管理一组无盘客户端更加容易。

    Diskless Embedded Technology PC-开源

    DIET-PC(无盘嵌入式技术个人计算机)是一种软件套件,使IT专业人员能够使用嵌入式Linux方法基于商品x86(PC),PowerPC(Mac)或ARM(手持)硬件构建开放源GUI设备。

    YUMI – Multiboot USB Creator (Windows)

    DRBL (Diskless Remote Boot in Linux) EASEUS Disk Copy (Disk Cloning Tool) FreeDOS (Balder img) GParted (Partition Tools) GRML (system rescue) HDT (Hardware Detection Tool) Kali (Penetration Testing) ...

    Redis 7.0.6 for Windows

    Avoid hang of diskless replication fork child when parent crashes (#11463) Fix crash with module API of list iterator and RM_ListDelete (#11383) Fix TLS error handling to avoid connection drops on ...

    disklessrestore-开源

    该项目用于从崩溃的OS(当前为Linux和Windows)的根文件系统备份中恢复。 它包含无盘OS(基于Debian的操作系统)和一些用于还原OS和Bootloader的Shell脚本。

    redis-5.9.101(6.0-rc1)-x64-windows-bin.rar

    Redis 6.0 introduces SSL, the new RESP3 protocol, ACLs, client side caching, diskless replicas, I/O threads, and many more improvements. Currently in release candidate, will be stable between March ...

    FreeBSDONLYrpi4netbootIMG:Raspberry Pi4的FreeBSD netboot映像-开源

    ),假设您已经按照 FreeBSD 手册中的描述配置了 pxe-filesystem-server:https://docs.freebsd.org / zh-CN / books / handbook / advanced-networking /#network-diskless您无需将u-boot或固件放入pxe-server。...

    linux howto中文合集

    这个是合集~一般是这里最全的了 另外加的 PDF是英文的 ....html&lt;br&gt;Advocacy&lt;br&gt;Automount-html&lt;br&gt;Battery-Powered-html&lt;br&gt;BootPrompt-HOWTO&lt;br&gt;Bridge-html&lt;br&gt;Bzip2-html&lt;br&gt;CDROM-HOWTO-html&lt;br&gt;Chinese-HOWTO-html&lt;br&gt;Clock-html&lt;br&gt;Colour-ls-html&lt;br&gt;Config-HOWTO-html&lt;br&gt;cpp.pdf&lt;br&gt;Diskless...

    redis-7.0.6-x64-windows.zip

    Bug Fixes Avoid hang of diskless replication fork child when parent crashes (#11463) Fix crash with module API of list iterator and RM_ListDelete (#11383)

    redis-6.2.4-x64-windows-bin.zip

    修复 diskless replication fork child 终止后崩溃问题(#8991) 修复不受支持的配置上的 redis-benchmark 崩溃 ( #8916 ) 其他错误修复: 修复 UNLINK 在 deleted consumer groups 的 stream key 上的崩溃( #8932...

    redis-7.0.10.tar.gz

    Redis 7新特性汇总: 1. 在集群模式下显着节省内存和延迟改进 。 2. 在许多散列或 zset 键的情况下显着节省内存。 3. 复制积压和副本使用一个...16. 本在 repl-diskless-load 期间继续提供数据= swapdb 以提高可用性 。

Global site tag (gtag.js) - Google Analytics