linux 如何设置无盘启动,第1张

你可以参考一下……这个笔记做的还行!!

一编译内核

1 进入linux源代码目录:

#cd /usr/src/linux-2420

2 清理源代码树,检测内核包里面的文件是否正确:

#make mrproper

3 运行配置程序:

#make xconfig

说明:最关键要选择fs(ext3),initrd,cpu,网卡型号的支持,或直接将准备好的config文件拷贝到/usr/src/linux-2420/arch/i386目录下,改名为defconfig(注意先将原有的defconfig文件备份,切记)

4 开始编译,检查相关独立性:

#make dep

5 清除内存和编译过程中生成的o文件:

#make clean

6 生成bzImage内核文件,在/arch/i386/boot下:

#make bzImage

二Busybox文件系统的生成

1 Busybox简介

busybox是一个集成了一百多个最常用linux命令和工具的软件,他甚至还集成了一个http服务器和一个telnet服务器,而所有这一切功能却只有区区1M左右的大小我们平时用的那些linux命令就好比是分力式的电子元件,而busybox就好比是一个集成电路,把常用的工具和命令集成压缩在一个可执行文件里,功能基本不变,而大小却小很多倍,在嵌入式linux应用中,busybox有非常广的应用,另外,大多数linux发行版的安装程序中都有busybox的身影,安装linux的时候案ctrl+alt+F2就能得到一个控制台,而这个控制台中的所有命令都是指向busybox的链接

2 配置busybox

busybox的配置程序和linux内核菜单配置方式简直一模一样

解压: #tar xvfz /Nodiskboot/busybox-100targz

#cd /Nodiskboot/busybox-100

#make menuconfig

下面是需要编译进busybox的功能选项,其他的可以根据需要自选,但是同样不要太贪心

General Configuration应该选的选项

Show verbose applet usage messages

Runtime SUID/SGID configuration via /etc/busyboxconf

Build Options

Build BusyBox as a static binary (no shared libs)

这个选项是一定要选择的,这样才能把busybox编译成静态链接的可执行文件,运行时才独立于其他函数库否则必需要其他库文件才能运行,在单一个linux内核不能使他正常工作

Installation Options

Don't use /usr

这个选项也一定要选,否则make install 后busybox将安装在原系统的/usr下,这将覆盖掉系统原有的命令选择这个选项后,make install后会在busybox目录下生成一个叫_install的目录,里面有busybox和指向他的链接

其他选项都是一些linux基本命令选项,自己需要哪些命令就编译进去,一般用默认的就可以了

配置好后退出并保存

3 编译并安装busybox

#make

#make install

这样,在busybox目录下将生成一个_install的文件夹,里面会有四项bin,sbin和linuxrc,其中bin,sbin都是目录,busybox文件放在bin下面,然后其他的所有文件都是符号连接,连接到busybox上。

上述步骤生成了initrd简单的目录架构,我们还有手工添加若干。

4 制作根文件系统

一个根文件系统必须包含支持一个完整的Linux系统所需的最基本的全部文件:

最基本的文件结构

/dev, /proc, /bin, /etc, /lib, /usr, /tmp 等目录的最小集合

sh, ls, cp, mv等基本工具程序

rc, inittab, fstab等基本配置文件

/dev/hd, /dev/tty, /dev/fd0等基本设备

libc-xxxso等程序运行所需的各种动态库文件

1)创建目录rootfs

mkdir /Nodiskboot/rootfs

cd /Nodiskboot/rootfs

2)基本目录结构

#mkdir etc usr var tmp proc home root dev etc/initd mnt lib

#chmod 755 etc usr var tmp home root dev etc/initd mnt lib

#chmod 555 proc

介绍一下各种目录的作用:

/dev -- 设备文件,实现系统I/O 所需

/proc -- 使用proc文件系统所需

/etc -- 包含系统配置文件

/sbin -- 包含重要的系统程序

/bin -- 包含大部分系统程序

/lib -- 包含提供动态链接所需的共享库文件

/mnt -- 挂载其他设备:磁盘、光盘、usb设备等的挂载点

/usr -- 额外的程序、函数库文件以及配置文件

3)拷贝busybox

#cp -R /Nodiskboot/busybox-100/_install/ /Nodiskboot/rootfs/

4)建立dev设备文件名

#cd /Nodiskboot/rootfs/dev

#mknod -m 666 tty c 5 0

#mknod -m 666 console c 5 1

#mknod -m 666 tty0 c 4 0

#mknod -m 600 fd0 b 2 0

#mknod -m 600 ram0 b 1 0

#mknod -m 600 null c 1 3

mknod是在dev下成生mknod节点设备文件。加载磁盘的命令是:

#mknod -m 660 hda b 3 1

其中3是第一条主线上,1是主设备上第一个分区(0~63),如果是第二条线则是22,如果是从设备则是(64~127)

但是手工方法建立太麻烦了,通常直接从/dev下把需要的设备文件拷贝过来

这些设备文件是特殊文件,在拷贝时一定要加上-R参数才能拷贝

#cp -R /dev/console /

#cp -R /dev/null /

#cp -R /dev/zero /

5)建立etc目录下的配置文件

写入三个文件inittab,fstab,initd/rcsysinit,文件内容如下

inittab:

::sysinit:/etc/initd/rcS

::askfirst:/bin/sh

fstab:

proc /proc proc defaults 0 0

initd/rcS:

#!/bin/sh

mount –a

exec bin/dhcpcd

# chmod 755 rcsysinit

其中rcS中exec语句是启动dhcp客户端软件,启动自动配置IP功能。

6)在lib下面cp相应的库文件

用ldd命令查看文件运行所用到的库,由于未用到动态链接库,而是直接链接到linuxrc文件上,所以lib下面是空的

7)存储节点的初始化是另一个需要注意的问题。在前面曾提到,内核引导的最后一项工作是创建并执行init进程,随后init进程将创建其他进程,运行一些系统所需的重要程序。由于在通常的Linux系统中的init程序的使用和配置与System V系统中的init程序类似,而在嵌入式系统等特殊应用场合并不需要实现多个用户(multiuser)的使用,也不需要用户登陆终端,所以System V系统中的init程序对我们的要求而言功能过于复杂。在此,我们采用使用比较广泛的工具busybox中的init程序。busybox包含常用的基本工具程序如:sh,ls,mount,init,cp等,而大小只有几百K(视所选择工具程序的数目来决定大小)。实际上,编译busybox后只有一个busybox程序,其余的所有工具程序都是busybox程序的符号链接,busybox通过辨别不同的程序名称,跳转执行不同的功能。

busybox中的init程序可以完成初始化的基本功能而且去掉了System V系统init程序的多余功能,init程序执行的顺序如下:

<1> 创建init的信号处理

<2> 初始化控制台

<3> 分析inittab文件,/etc/inittab

<4> 执行系统初始化脚本,/etc/initd/rcS

<5> 执行所有inittab中类型为wait的程序

<6> 执行所有inittab中类型为once的程序

完成以上步骤后,init循环执行所有inittab中类型为respawn和askfirst的程序。文件inittab中的每一行配置遵照格式如下:

id:runlevel:action:process

虽然这个格式与传统的System V init 类似,但是id 域的含义不同。id 通常是用来指定控制启动进程运行的tty。如果id域为空则代表这个进程的运行不需要与shell交互。在busybox中,runlevel域 可以完全忽略。process 指明执行程序以及所带参数选项。 action 域可以选择一下八个类型:

sysinit提供给init初始化脚本所在的路径;

respawn当进程终止后将其重新启动;

askfirst与respawn类似,不同之处是在终端提示“Please press Enter to activate this console”;

wait代表init等待这个程序执行完后才继续执行;

once表示执行一次而且不需要等待完成;

ctrlaltdel表示当按下Ctrl-Alt-Delete时执行;

shutdown表示程序在关机时执行;

restart表示程序在重启时执行,通常是init本身。

在存储节点上运行的程序是:挂载硬盘(mount),扫描硬盘生成多媒体文件报告的程序,流媒体服务器(vls),与管理节点通信程序(agent),监视网络带宽使用状况的程序()。其中,mount的action域应为wait,因为首先要将存有多媒体文件的硬盘挂载才能对其执行扫描;vls的action域应为respawn,vls运行出现严重错误后,重新启动vls,并向管理节点报告,写入log。

三 制作ramdisk映象文件

根文件系统所有东西都放在/Nodiskboot/rootfs下,我们将利用ramdisk把这些内容做成ramdisk映象文件并压缩它

# dd if=/dev/zero of=/dev/ram0

dd: 正在写入 ‘/dev/ram1’: 设备上没有空间

读入了 8193+0 个块

输出了 8192+0 个块

zero是一个特殊的设备,表示全部为0的字符块上面这条命令的意思是把系统的第一个ramdisk用全部为0的数据填充,因为 ramdisk默认大小为4M,因此当读满8192个块(每块512字节)后,显示'设备上没空间'这很正常,/dev/ram0已经被填充满了

如果指定块的大小:

# dd if=/dev/zero of=/dev/ram0 bs=1M count=4

读入了 4+0 个块

输出了 4+0 个块

不会有错误提示,这里演示了dd的一般用法,接下来还要频繁用到dd命令

在/dev下有很多ramdisk设备ram0,ram1,ram2,ram3 一般用第一个就可以了

填充后,ram1就有可空间,可以在这个空间上创见一个文件系统:

# mkfsext2 -m0 /dev/ram0

将ram0挂装到文件系统中:

先建立一个挂装点:

#mkdir /mnt/ram0

挂上ram0:

#mount /dev/ram0 /mnt/ram0

将先前做好的Nodiskboot根文件系统拷贝到ram0上

#cp -R /Nodiskboot/rootfs/ /mnt/ram0

做完以上几步,你应就白了ramdisk设备的含义,他是和hda1,hdb1,一样的块设备,用mount挂到文件系统下后就可以访问,往里放东西,但是所有的东西在内存上关机将丢失所有东西

拷贝好Nodiskboot根文件系统后卸载ram0:

#umount /dev/ram0

如果出现"device is busy",说明有别的进程在使用/dev/ram0上的文件,解决办法如下:

#fuser -v /mnt/ram0

#umount /dev/ram0

这时,虽然不能通过/mnt/ram这个挂装点访问ram0中的内容了,但是他却切切实实得在内存中存在

再用dd把这个ram1以映象方式取出来:

# dd if=/dev/ram0 of=/Nodiskboot/ramdiskimg

验证一下取出来的内容:

# file ramdiskimg

ramdiskimg: Linux rev 10 ext2 filesystem data

他是一个ext2 文件系统,类似一个ISO光盘映象文件

因次,我们可以用loop设备来把他重新挂装到文件系统里:

# mount -o loop ramdiskimg /mnt/ram0/

为了方便,我仍旧把他挂在/mnt/ram0下,因此,在先前一定要把/dev/ram0 umount掉

查看/mnt/ram0下的内容,他应该和/Nodiskboot/rootfs下的一模一样,否则就是出错了:

# ls /mnt/ram0

etc usr var tmp proc home root dev etc/initd mnt lib

这样,我们就得到了一个ramdisk根文件系统映象ramdiskimg

把他umount掉:

#umount /mnt/ram0

压缩ramdiskimg印象文件:

# gzip -v9 ramdiskimg

查看压缩后的大小:

# ls -lh ramdiskimggz

四 压缩内核与根文件系统

当内核与根文件系统准备好之后,就要将这两者压缩在一起,使用的工具是mknbi,它是DHCP启动映象制作工具,在linux下与etherboot配合使用mknbi压缩的文件下载到存储节点后,由etherboot进行分析,对内核与根文件系统分离解压后

1:将bzImage拷贝到mknbi下,将initrd也拷贝到mknbi下

2:mkelf-linux --output=/tftpboot/booteb --param="rw root=/dev/ram initrd=0x075F0000" bzImage initrd

其中param参数的设置, initrd代表内核映象文件bzimage将被解压缩到的内存的位置。

五.最后一步――执行

将mknbi-linux生成的压缩文件booteb放置在管理节点的/tftpboot路径下,并修改/etc/dhcpdconf中的配置,使booteb作为每一个存储节点通过TFTP需要从管理节点下载的文件。然后,管理节点启动DHCP守护进程(# service dhcpd start),运行TFTP服务(# chkconfig tftp on)。

存储节点在上电后就可以分配得到IP地址,下载操作系统内核和根文件系统,运行各种配置好了的程序,可以在存储节点上ifconfig,可以看到节点上的网卡开始工作,现在可以完成busybox里面集成的简单命令,如ping之类。

总的来说,无盘工作站是由网卡的启动芯片(Boot ROM,有此网卡的启动程序已嵌入主板的BIOS中,无需启动芯片)以不同的形式向服务器发出启动请求号,服务器收到后,根据不同的机制,向工作站发送启动数据,工作站下载完启动数据后,系统控制权由Boot ROM转到内存中的某些特定区域,并引导操作系统。根据不同的启动机制,目前比较常用无盘工作站可分为RPL、PXE和 虚拟硬盘等启动类型,而Windows 2000终端从其原理来说,并不属于无盘工作站,它也可以用终端卡或硬盘引导系统,进入工作站操作系统后,再连接Windows2000 服务器,而这个连接程序与一般的应用软件并没有什么本质区别,我们把它归结到无盘网络的原因是:目前大多数的终端都是先通过RPL或PXE启动无盘到DOS或Windows3x,再从无盘站中连接,成为终端,总之本文所指无盘网络,泛指工作站中没有软驱和硬盘的网络,无论它是采取何种方式达到这一目的的,目前台湾顺昱公司研发的基于Electronic Disk Communication电子硬盘(eDisk)系统,我们将它称为伪无盘系统,但因它也具备无盘网络的特点,所以也可以把它归结到无盘网络中来。

近年来,无盘技术发展十分迅速,产生了大量的分支,因此根据角度的不同,主要有以下几种分类方式:

1 按启动类型主要有:RPL、PXE和Bootp。

2 按工作站的操作系统:DOS无盘系统、Windows 32无盘系统、Windows 95无盘系统、Windows 98无盘系统、纯Windows 2000及 XP 无盘系统、Windows 2000终端及Windows XP远程桌面。

3 按服务器操作系统:基于Windows 2000的无盘系统、基于Windows NT 40的无盘系统、基于Windows XP下的无盘系统、基于Novell NetWare的无盘系统及基于Linux的无盘系统,甚至还有基于Windows 98的无盘系统,也就是说用Windows 98作服务器。

4 根据系统是否具有移植能力可以分为:PNP(即插即用)系统非PNP系统。

5 根据所使用工具的不同进行分类: 使用Intel PDK+Litenet的无盘系统、使用国产相关第三方工具的无盘系统、使用Boot-NIC+3COM PXE的无盘系统。

6 按虚拟磁盘分类:3Com VLD、Boot-NIC、BXP和Edisk等。

以上分类是可以组合有的,例如:基于Windows 2000 Server+3Com Dabs+Litenet15的PXE无盘Windows 98系统,请注意它们间的组合并不是任意的,例如基于Windows NT的RPL 纯无盘Windows 2000就是不存在的。

1 RPL启动工作原理

RPL为Remote Initial Program Load的缩写,启动过程分析如下:

客户机开机后,初始化网卡,网卡BootROM上固化的软件向网络广播一个FIND帧,即引导请求帧,该帧中包含有客户机的网卡ID号。

服务器端的远程启动服务接收到客户机广播的FIND 帧后,根据帧中所带的网卡ID号在远程启动数据库中查找相应的工作站记录,如果不存在这样一个记录,引导过程不能继续;如果此工作站记录已经存在,远程启动服务则发送一个FOUND 帧给客户机的RPLROM,FOUND帧中已包含了服务器的网卡ID。

当网络上有数台服务器在运行远程启动服务时,RPLROM有可能会接收到多个FOUND帧,但RPLROM只对它收到的第一个FOUND帧有反应,它将根据第一个FOUND帧中所带的服务器网卡ID号,返回一个SENDFILEREQUEST帧给对应的服务器。SENDFILEREQUEST帧是一个要求服务器发送文件的请求。

服务器端的远程启动服务在收到SENDFILEREQUEST帧后,将根据远程启动数据库中的工作站记录查找对应的启动块(BootBlock)——在实际配置时我们知道,它位于NETBEUI目录,名为DOSBBCNF和W95BBCNF——用FILEDATRESPONSE帧将启动块送回客户机端的RPLROM。

RPLROM在收齐所有的FILEDATRESPONSE帧后,将执行点转向启动块的入口,启动工作站。工作站以Windows 95实模式启动后,将创建一个RAM盘,并将Windows 95实模式文件从远程启动服务器拷贝到RAM盘,加载Windows 95实模式网络设备启动并建立一个到SBS服务器的连接。最后,连接到该客户机的计算机目录(Machine Directory)所在的服务器上,并根据计算机目录中的有关设置及数据完成Windows 95启动过程。

2 PXE启动原理

推出了PXE远程无盘引导技术是由Intel推出的,配合Qualystem公司的LiteNet,最初选用台湾DTK公司的E-Terminal,成功地实现了Windows 98的远程启动和运行,并使可靠性和稳定性都大大提高。Windows 98的各种应用软件只需通过简单的几个步骤即可加到无盘工作站上,并可随时升级和扩充,其简便的安装方式和构架,很快得到了业内人士的认可,并广泛流行起来。

PXE是RPL的升级品,它是Preboot Execution Environment的缩写,意思为预置启动环境。它们的不同之处在于RPL是静态路由,而PXE是动态路由。其通信协议采用TCP/IP,与Internet连接高效而可靠,PXE无盘工作站的启动过程分析如下:

¨ 客户端个人电脑开机后, 在 TCP/IP Bootrom 获得控制权之前先做自我测试。

¨ Bootprom 送出 BOOTP/DHCP 要求以取得 IP。

¨ 如果服务器收到个人电脑所送出的要求, 就会送回 BOOTP/DHCP 回应,内容包括:客户端的 IP 地址,预设网关,及开机影像文件。否则, 服务器会忽略这个要求。

¨ Bootprom 由 TFTP 通讯协议从服务器下载开机影像文件。TFTP协议为Trivial File Transfer Protocol缩写,意为:简单文件传输协议,TFTP可以看成一个简化了的FTP,主要的区别是没有用户权限管理的功能,也就是说TFTP不需要认证客户端的权限,这样远程启动的客户机在启动一个完整的操作系统之前就可以通过TFTP下载启动映象文件,而不需要证明自己是合法的用户。

¨ 客户机通过这个开机影像文件开机,这个开机文件可以只是单纯的开机程序也可以是操作系统。

¨ 开机影像文件将包含 kernel loader 及压缩过的 kernel, 此 kernel 将支持NTFS root系统。

¨ 并开机影像文件在工作站内存模拟成磁盘,从这个模拟磁盘启动。

¨ 在实模式下连接服务器,将无盘启动预置好各种环境,例如操作系统所在路径,相关注册表的调整等。

¨ 实模式向保护模式下切换。(最后两点只有无盘Windows 98时才存在)

PXE有以下优点:

¨ 因为其能支持Windows 98远程启动,所以现有的各种应用软件都能得到非常好的应用。由于系统本机内存为64MB,虚拟内存大小可在服务器自由设定,另具有3D图形视觉增强和AC97 CODEC软件音频功能,相对终端或RPL Windows 95来说增强了多媒体功能。

¨ PXE还有一个最大的优点就是安全性,不管多少个台工作站,系统和应用软件只需安装一套 ,对用户的权限是在服务器上设定的,用户可以在自己的目录下随便操作,若有了误操作,重新启动便可以完全恢复。

¨ 操作维护简便,升级软件只需向服务器重新传一遍系统,所有工作站便已全部升级了。工作站的ip地址由服务器自动给予,不用逐台设置。

¨ 多种操作系统及网络产品都支持PXE,作为新一代远程启动技术的代表各大公司的软硬产品都支持PXE系统。例如:Intel公司的PXE PDK、3Com Dabs和Linux。很多内置网卡的主板都预置这PXE启动代码,这给PXE技术的发展奠定的良好的基矗

3 BOOTP协议原理

BOOTP的是BOOTSTRAP PROTOCOL的简称,是一种比较早出现的远程启动的协议,Bootp最早出在UNIX系统中,负责Unixt终端的远程启动,直到目前仍是UNIX及之后的Linux系统中最常用的方式,它在基于Windows的无盘网络运用较少,但随着Windows 2000不支持RPL远程启动,并且以TCP/IP作为默认安装网络协议,逐步表明今后的Windows也将以TCP/IP协议作为主要的发展方向,纯TCP/IP的网络将是今后发展的方向。

我们经常用到的DHCP服务就是从BOOTP服务扩展而来的。BOOTP协议使用TCP/IP网络协议中的UDP 67/68两个通讯端口。 BOOTP主要是用于无磁盘的客户机从服务器得到自己的IP地址、服务器的IP地址、启动映象文件名、网关IP等等。它的简单启动过程为:

¨ 由BOOTROM芯片中的BOOTP启动代码启动客户机,此时客户机还没有IP地址,它就用广播形式以IP地址0000向网络中发出IP地址查询的请求,这个请求帧中包含了客户机的网卡MAC地址。

¨ 网络中的运行BOOTP服务的服务器接收到的这个请求帧,根据这帧中的MAC地址在BOOTPTAB启动数据库中查找这个MAC的记录,如果没有此MAC的记录则不响应这个请求,如果有就将FOUND帧发送回客户机。FOUND帧中包含的主要信息有客户机的IP地址、服务器的IP地址、硬件类型、网关IP地址、客户机MAC地址和启动映象文件名。

¨ 客户机就根据ROUND帧中的信息通过TFTP服务器下载启动映象文件,并将此文件在工作站内存模拟成磁盘,从这个模拟磁盘启动。

在PXE启动中可以采用动态分配IP的DHCP方式,也可以采用固定IP方式的BOOTP方式,但它的应用场合不同,若为单一的无盘网络可采用DHCP方式简化管理,若为多个网络互连的结构,则使用指定IP的Bootp方式更为合理一些。

4 Windows 2000终端(WBT)的特点及纯软件终端启动原理

WBT(Windows Based Termintal)是Windows2000 Server/Advanced Server推出的一项标准服务,它允许用户以Windows界面的客户端访问服务器,运行服务器中的应用程序,使用户就像用自己的计算机一样。 在WBT的网络中,所有应用软件的安装、配置、运行和存储等均在服务器上进行,客户机(终端)只作为输入输出设备。当终端用户登录到服务器后,就可以像使用本地资源一样使用服务器上的资源,运行服务器上Windows应用程序。多个终端用户可以同时登录到服务器上,互不影响地工作。这样的网络十分容易进行集中管理,很适合学校和中小企业的局域网构建。WBT的这一特点跟早期的UNIX的字符终端类似,但WBT的优势在于它是基于Windows的,具有友好的图形界面和Windows的易用性。另外,在WBT的网络环境下,网络传输的数据主要是键盘和鼠标的输入信息与显示器的输出信息,数据的处理都在服务器上进行,这就大大减少了网络的传输量。

此方案中将原本要淘汰的386、486计算机作为终端使用,有利于资源的再利用;同时,安装软件及运算等都在服务器上进行,一般情况只需维护一台服务器就行,对于软件及防病毒的管理也降低了,所以利用该方案大大降低了总体拥有成本,节省了大量的资金。它有以下一些特点:

¨ 运算、存储都在服务器内进行,安装软件只需安装在服务器上一份,所有终端就都可以使用;所有终端用户的文件都各自独立地存放在服务器上,即使掉电,也不会造成资料丢失;

¨ 机房维护由维护每一台PC,转变为维护一台服务器,维护成本大大降低;总拥有成本(TCO)大大降低;

¨ Windows2000 服务器版本是最新的服务器操作系统,性能非常稳定,整个系统的稳定性得到可靠保障;

¨ Windows2000 终端的界面是标准的 Windows风格界面,使用最新的Windows2000 的界面,用户非常熟悉,无需特殊培训;

¨ 能满足对因特网的需求;应用当今流行软件时单机反映速度快;使用 Windows终端与使用PC完全相同,所以在 Windows终端上的学习经验,可以应用到PC上;

¨ 管理和控制性强:终端服务器能够对终端进行管理,设定终端机运行的软件,同时能对终端机进行随时监控。

纯软件终端的启动原理:它的启动原理前一部分与RPL或PXE无盘启动原理完全相同,这里就不再详述了,后一部分的连接是基于Windows 2000多用户、多任务的基础上的终端服务,在工作站上安装由微软提供的32位的连接程序,或由第三方的提供的16位或32位在DOS、Windows 3x或Windows 9x无盘站安装连接程序,并设置好连接属性,然后在启动无盘站时将其连接命令加到DOS站的开机批处理,或加到无盘Windows 的启动组,使其自动连接Windows 2000服务器。在终端安装Windows CE,服务器端安装Windows 2000专业版,终端启动以后透过RDP协议运行服务器端的应用程序,服务器端进行应用程序运算后同样透过RDP协议将结果在终端显示。

5 基于虚拟硬盘的无盘网络

所谓虚拟硬盘方式,指的是在工作站启动时,用软件将部分内存结合服务器的一块硬盘空间,为工作站虚拟出一个或多个本地硬盘的方式,例如:早期的3Com VLD系统、较新的Boot-NIC系统和最新的BXP系统,也有一些基于硬件的虚拟硬盘的解决方案,例如:Edisk 系统。目前只有基于虚拟硬盘的无盘网络能够很好地解决系统文件共享冲突的问题,且很容易实现多种操作系统的无盘启动,即工作站可以无盘启动Windows 2000、Windows XP 甚至是Linux。

基于虚拟硬盘的无盘网络的工作原理:

对于纯软件方式,一般是先在有盘工作站作好一个为系统,再上传至服务器为工作站准备的虚拟硬盘文件中。无盘启动时,先以PXE的方式启动到实模式下,连接服务器,并根据配置文件连接虚拟硬盘映象文件,再将控制权转到虚拟硬盘中,从而完成保护模式下的切换。

对于基于硬件的虚拟硬盘方式,它是通过最标准、最普及的以太网络(Ethernet)用来传输eHD与eDisk间的数据,它们是建立在eDC传输协议基础之上的。(eDC全名是Electronic Disk Communication台湾顺昱公司研发出一种传输协议),实现了Client SAN即客户端储存局域网络架构,它具有早期大型机体系的集中管理集中存储的优点,又有NC的分布式计算的特性(即完全利用了Client的硬件资源),还有对个人用户来说完全和PC一样,不论软硬件的使用,功能和兼容性即整个客户端储存局域网络Client SAN的应用效果和使用方法与真正PC联网一样,但又管理容易,大幅度降低了企业IT环境的服务可用性总成本(total cost of service availability , TCSA)但一次性软硬件投资较大,在一些对多媒体性能要求较高的场合可以考虑使用。

首先我对 信佑无盘服务器 这个不是很了解。

RAID有软RAID和硬件RAID之分。软的,是借助软件进行实现的,例如 mdadm 或者 raidtools等,它的成员是整个硬盘或分区;硬的,就是通过raid卡来做,它的成员是整个硬盘。在企业级应用领域,大部份都是硬件RAID。而软件RAID由于性价比高,大多被中小型企业所采用。RAID的原理比较讲讲比较繁琐,建议你GOOGLE搜索下,真正搞明白其原理!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » linux 如何设置无盘启动

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情