linux无盘服务器_linux无盘服务器系统

hacker|
130

文章目录:

用Linux做无盘服务器可行吗?

是啊,我也是听说网众有LINUX服务器,期的还没听说。是需要软件供应商的支持的

如何查看Linux无盘服务器负载以及内存使用情况

win系统用任务管理器和性能计数器查看

linux有几个命令

w

top

uptime

都显示load

average

ps查看占用内存情况。

如何修改Linux无盘服务器密码

打开信佑服务器-服务器管理-选择无盘服务器,

在服务器状态界面上方点击修改密码按钮进行无盘服务器密码进行修改

linux 如何设置无盘启动

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

一.编译内核

1. 进入linux源代码目录:

#cd /usr/src/linux-2.4.20

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

#make mrproper

3. 运行配置程序:

#make xconfig

说明:最关键要选择fs(ext3),initrd,cpu,网卡型号的支持,或直接将准备好的config文件拷贝到/usr/src/linux-2.4.20/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-1.00.tar.gz

#cd /Nodiskboot/busybox-1.00

#make menuconfig

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

General Configuration应该选的选项

Show verbose applet usage messages

Runtime SUID/SGID configuration via /etc/busybox.conf

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-x.x.x.so等程序运行所需的各种动态库文件

1).创建目录rootfs

mkdir /Nodiskboot/rootfs

cd /Nodiskboot/rootfs

2).基本目录结构

#mkdir etc usr var tmp proc home root dev etc/init.d mnt lib

#chmod 755 etc usr var tmp home root dev etc/init.d mnt lib

#chmod 555 proc

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

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

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

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

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

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

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

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

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

3).拷贝busybox

#cp -R /Nodiskboot/busybox-1.00/_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,init.d/rc.sysinit,文件内容如下

inittab:

::sysinit:/etc/init.d/rcS

::askfirst:/bin/sh

fstab:

proc /proc proc defaults 0 0

init.d/rcS:

#!/bin/sh

mount –a

exec bin/dhcpcd

# chmod 755 rc.sysinit

其中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/init.d/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就有可空间,可以在这个空间上创见一个文件系统:

# mkfs.ext2 -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/ramdisk.img

验证一下取出来的内容:

# file ramdisk.img

ramdisk.img: Linux rev 1.0 ext2 filesystem data

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

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

# mount -o loop ramdisk.img /mnt/ram0/

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

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

# ls /mnt/ram0

etc usr var tmp proc home root dev etc/init.d mnt lib

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

把他umount掉:

#umount /mnt/ram0

压缩ramdisk.img印象文件:

# gzip -v9 ramdisk.img

查看压缩后的大小:

# ls -lh ramdisk.img.gz

四. 压缩内核与根文件系统

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

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

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

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

五.最后一步――执行

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

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

如何添加Linux无盘服务器系统镜像盘

办公的话 非常不适合用无盘的工作站。。 当你做了就会发现其实这个无盘站办公的话比病毒来的麻烦。。 无盘只适合在网吧 和特殊的工作环境用。。。

像你这种情况 适合用校园机房的那种管理软件 写在bios的一个软件 任何一个机器都可以做主机 向其他局域网的机器发送文件包括复制系统 硬盘对刻。。既能满足你对无盘的优点的需要 又能保住机器的独立性。。文件的管理等 你也可以做一个服务器 辅助文件共享。。打印共享等。。。毕竟特殊的机器不能加入到无盘中来比如财务用机。。领导用机。。 个人见解 如果你需要无盘的资料的话我也有。。hi上留言吧

还是贴上吧 我的日志 复制粘贴过来。。有两个方案。。。

锐起无盘

1、首先进行安装前的计划,根据各网吧不同情况,分析出大概需要几种硬件配置,假定网吧需要8种配置

2、在服务端增加好这8种配置001~008,建议把主板配置写到说明里面,再增加009,做为备用配置,以防有时候临时更换主板使用。

3、做系统母盘,找一台属于该配置机器最多的来做母盘,具体做法各网吧不尽相同,总体来说就是安装操作系统并打好补丁(建议装SP2,不打补丁),装上相应的驱动程序和输入法,再进行一些优化操作。程序等建议以后再安装,这样系统母盘很小,一般也就1G多点,上传速度快。

4、上传系统。在上传之前再检查一下该母盘是否还有没优化好的地方,确认已经完善时,就可以安装锐起无盘客户端软件,安装好之前需要重启两次,查找RAID驱动。并且在服务端设置该机用超级用户。重启好之后,在计算机管理里面,看是否能够正确查找到无盘服务器上面映射的磁盘。如果磁盘是以前建立的,只需要格式化该盘,在格盘前一定要小心确认,千万不要把游戏分区格掉了,当然了,现在1.5版通常只用一个单独映像做为系统盘,这就没有什么好说的了。格式化之前就运行无盘软件里面的系统上传,选择好硬件配置编号001,点上传。这个过程一般几分钟就OK了。

5、去掉硬盘,注意,一定要保存好这个硬盘,以备后用。然后用无盘启动,启动好之后,运行无盘软件里面的配置复制,复制到002~009,复制好之后,关机,再关掉超级用户。

6、选择一台属于配置是002的机器,在服务端设置为超级用户,用无盘启动,在这里可能出现三种情况,以下分别说明

A、能够正常启动,不过较慢,需要自行查找硬件设备,这个时候不要慌,慢慢等,特别是在声卡驱动不同的时候,会假死,如果过10分钟,该机没有反映,就手工重启一次,就可以正常安装其他驱动了。通常总线这些都是自动查找安装,一般需要手工安装的是声卡、显卡这些,前提是如果自动安装好了,就不用手工安装了。

B、不能够正常启动,在出现XP进度条的地方一直在跑进度条,或者是跑两圈就自动重启。这个时候就需要把原来上传系统的硬盘挂到该机,用硬盘启动,装好驱动后,用更新上传。

C、情况如上B,不同的是用硬盘启动也不能够进入XP,这个时候需要把该硬盘挂回到原来上传系统的机器,去掉硬件驱动(先卸载网络适配器,和通用串行总线控制器,和声音,视频游戏控制,监视器,显示卡,卸载时按右键,点卸载就行了。。更改 计算机的Advanced Configuration Power Interface(ACPI)属性为Standard PC。。。将您本机的IDE ATA/ATAPI控制器改成标准的双通道 PCI IDE控制器),然后再挂到不能启动的机器上面,就肯定可以启动了,装好驱动后,更新上传。

7、重复第6步,把所有配置都能够正常启动后,就开始安装应用程序了。

网众无盘

1:先安装我们在网站上下载的网众NxD XP 5.6 服务端 (Linux版本服务端)大家可以在网上找到相应的教程,安装完成后重启linux服务器。

2:然后我们在服务器上安装我们的破解补丁。

3:安装完破解补丁后开始配置我们的服务器;

先打开网众数据管理器,指定三个目录,

磁盘目录: E:\WZDISK (工作站起时读取此目录下的虚拟盘里的系统文件)

工作目录: G:\WZGZZ (工作站回写数据将写入这个临时目录)

交换目录: G:\WZJH (即页面文件或虚拟内存,取到过渡或缓冲作用)

4安装客户端然后上传就可以了

这是简单的 资料的话可以百度 题目

谁知道用LINUX做网吧服务器的无盘系统怎么做?

客户端是支持PXE方式启动的刀片,用Linux作为服务器,服务器配置如下:

1) 安装DHCP服务器dhcpd

2) 配置/etc/dhcpd.conf文件,下面是我机器上的文件

max-lease-time -1;

default-lease-time -1; #注:IP地址永不过期

option subnet-mask 255.0.0.0;

option routers 10.0.0.1;

option domain-name-servers 10.10.10.10;

# option netbios-name-servers 10.10.10.10;

option broadcast-address 10.255.255.255;

# option dhcp-class-identifier "XEClient";

# option vendor-encapsulated-options 01:04:00:00:00:00:ff;

# option option-135 "start";

subnet 10.0.0.0 netmask 255.0.0.0 {

range 10.10.12.131 10.10.12.150;

host blade01 {

hardware ethernet 00:e0:43:00:02:00;

fixed-address 10.10.12.131;

filename "/tftpboot/pxelinux.0"; #注:启动映象文件

}

host blade02 {

hardware ethernet 00:e0:43:00:02:02;

fixed-address 10.10.12.132;

filename "/tftpboot/pxelinux.0";

}

host blade03 {

hardware ethernet 00:e0:43:00:02:04;

fixed-address 10.10.12.133;

filename "/tftpboot/pxelinux.0";

}

host blade04 {

hardware ethernet 00:e0:43:00:02:06;

fixed-address 10.10.12.134;

filename "/tftpboot/pxelinux.0";

}

host blade05 {

hardware ethernet 00:e0:43:00:02:08;

fixed-address 10.10.12.135;

filename "/tftpboot/pxelinux.0";

}

}

说明:dhcp客户得到IP地址后用TFTP协议从服务器上下载启动映象文件。我用syslinux

工具包里边的pxelinux来作为远程启动的loder.

3) 配置tftp server

使用pxelinux作引导工具需要支持TSIZE参数的tftp server。可从下载。

通过xinetd来使用tftp服务,我的/etc/xinetd.conf文件如下

......

service tftp

{

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

}

4) 配置PXELINUX

先安装syslinux软件包。可从下载。

将pxelinux.0拷贝到/tftpboot/目录下,然后建立/tftpboot/syslinux.cfg/目录。该目录下存放配置文件。

pxelinux使用ip地址的十六进制表示来作为该ip地址的配置文件的文件名。如blade01的

ip地址为10.10.12.131,配置文件名为0A0A0C83,内容为:

default linux

label linux

kernel vmlinuz

append ip=dhcp root=/dev/nfsroot nfsroot=10.10.11.120:/remote/blade01 vga=normal

5) 配置nfs

为每个刀片建立一个根目录,在该刀片的pxelinux配置文件里指定了从这个nfs export的目录启动。

该根目录里应把标准的目录都建好,另外需要重新mount的usr, home, public等目录也要export。

我的 /etc/exports文件:

# /etc/exports: the access control list for filesystems which may be exported

# to NFS clients. See exports(5).

/remote/blade01 blade01(rw,async,no_root_squash)

/remote/blade02 blade02(rw,async,no_root_squash)

/remote/blade03 blade03(rw,async,no_root_squash)

/remote/blade04 blade04(rw,async,no_root_squash)

/remote/blade05 blade05(rw,async,no_root_squash)

/remote/root *(rw,async,no_root_squash)

/remote/home *(rw,async,no_root_squash)

/usr *(ro,async,no_root_squash)

/sbin *(ro,async,no_root_squash)

/bin *(ro,async,no_root_squash)

/lib *(ro,async,no_root_squash)

/home *(ro,async,no_root_squash)

6)为每个刀片修改它的/etc/fstab文件,以blade01为例,它的nfs root是/remote/blade01

/remote/blade01/etc/fstab文件如下:

# /etc/fstab: static file system information.

#

#

10.10.11.120:/remote/blade01 / nfs defaults,intr 0 1

10.10.11.120:/remote/root /root nfs defaults,intr 0 1

10.10.11.120:/remote/home /home nfs defaults,intr 0 1

10.10.11.120:/bin /bin nfs defaults,intr 0 1

10.10.11.120:/usr /usr nfs defaults,intr 0 1

10.10.11.120:/sbin /sbin nfs defaults,intr 0 1

10.10.11.120:/lib /lib nfs defaults,intr 0 1

none /proc proc defaults,intr 0 1

同时还要为每个刀片修改它的网络配置文件,配置ip地址,启动两块网卡等等。。

7) 编译内核

刀片用的内核,应该支持Kernel Level Auto Configuration的DHCP协议,支持NFS,支持NFS ROOT,

假设编译好的内核为vmlinuz,将它拷贝到/tftpboot/目录下。

3条大神的评论

  • avatar
    访客 2022-07-05 上午 11:52:04

    HCP启动映象制作工具,在linux下与etherboot配合使用.mknbi压缩的文件下载到存储节点后,由etherboot进行分析,对内核与根文件系统分离解压后 1:将bzImage拷贝到mknbi下,将initrd也拷贝到mknbi下

  • avatar
    访客 2022-07-05 上午 09:49:42

    完成初始化的基本功能而且去掉了System V系统init程序的多余功能,init程序执行的顺序如下: 1. 创建init的信号处理 2. 初始化控制台 3. 分析initt

  • avatar
    访客 2022-07-05 上午 08:03:33

    再用dd把这个ram1以映象方式取出来: # dd if=/dev/ram0 of=/Nodiskboot/ramdisk.img 验证一下取出来的内容: # file ramdisk.img ramdis

发表评论