有时候在Linux下执行一条命令过长,挺麻烦的,我们可以在.bashrc文件下设置alias,对命令设置简短的别名,相当于缩短命令,方便操作。
1.设置别名
alias 别名=’原命令 -选项/参数’
例如:
alias ll='ls -lt'1
这样设置了ls -lt命令的别名是ll,在终端输入ll时,则相当于输入了ls -lt命令
注意: 在定义别名时,等号两边不能有空格,否则shell不能决定您需要做什么。仅在命令中包含空格或特殊字符时才需要引号。如果键入不带任何参数的alias 命令,将显示所有已定义的别名。
2.查看已经设置的别名列表
alias -p1
3.删除别名
unalias 别名1
例如:
unalias ll1
4.设置别名每次登入可用
alias命令只作用于当次登入的操作。如果想每次登入都能使用这些命令的别名,则可以把相应的alias命令存放在 ~/.bashrc 文件中。
打开~/.bashrc文件,输入要设置的alias命令,保存,然后运行
source ~/.bashrc1
如果这样还不行,表示没有~/.bash_profile文件或文件中没有执行~/.bashrc文件
可以在~/.bash_profile中加入命令 source ~/.bashrc 后保存
这样就可以每次登入后都可以使用设置好的命令别名。
在正式开始之前,我们先随便执行几条命令,便于后面演示。
$ ls -l
$ pwd
$ date
$ uname -a
方法1:!!
没错,两个叹号也是一条命令,它会重复执行最后执行的那条命令。
$ !!
这条命令等同于如下效果:
$ !!
如果需要 root 权限,同样只需在前面加 sudo 即可。
$ sudo !!
方法2:!un
假如我们在操作的过程中输入了非常多的命令,现在要重复执行其中的一条,该怎么处理?有一种简单的方法,就是利用上下箭头去翻查,但如果之前输入了太多命令,翻查起来可以要找半天。
这时候,!un 这种命令就显现出它的作用来了。记住,这个 un 不是固定的,它是代表你想要重复输入的命令的前几个字符。
比如在这个例程中,我们想重复执行 uname -a 这条命令,只需这样执行:
$ !un
uname -a
如果你之前输入的命令有多个是以 un 开头的,那么你可能需要多输入几个字符。
$ !uname
方法3:!-1
这个方法就比较灵活了,!-1 代表重复执行最后一条命令,!-2 表示重复执行倒数第二条命令,!-n 表示重复执行倒数第 n 条指令。
$ !-1
uname -a
$ !-3 # 注意,前面的 !-1 也算一条指令,所以倒数第 3 条指令是pwd
方法4:ctrl r
ctrl r 这个快捷键可以让你搜索你之前输入过的所有的命令。其实良许更喜欢这个快捷键,因为它会让你看到你将要执行的命令。而如果是 !! 命令的话,它是直接执行最后一条命令。如果这条命令是安全的还好,要是像 rm -rf /* 这样的命令,那就悲剧了。
假如我现在要重复执行 uname -a ,我们可以先按一下 ctrl r 这个组合键,然后再依次敲入 ‘u’ ‘n’ ‘a’ ,如果之前输入的命令比较少的话,基本只需敲一个 u 或 n 就可以找到你要输入的命令了。
(reverse-i-search)`u’: uname -a
找到之后,再敲一下回车,即可重复执行你要输入的命令了。
假如说你要对找到的那条命令进行一些小修改,那么只需敲一下左或右的箭头即可。
方法5:ctrl p 或 ctrl n 配合 ctrl o
如果你是懒癌晚期,不想再敲任何字母,只想翻查找到想要的命令并执行,要怎么操作?
前面提到,翻查历史输入的命令,可以使用上下箭头。但这不是最高效的,我们可以使用 ctrl p 和 ctrl n 来达到同样的效果。这样更高效,因为你的手不用抬起来并移动到箭头区。
通过 ctrl p/n 的组合键找到想要的命令之后,我们可以按 ctrl o 来执行这条命令。这个组合键与回车不太相同,因为它除了回车之外,还另外跳转到最后一条命令。通过不断地 ctrl p/n ,然后 ctrl o ,就可以高效的重复执行你要执行的命令了。
最简单的方法就是借助 ls 命令,因为 ls 命令本身输出是带文件大小信息的。
比如,我要列出 /opt 目录中的 5 个最大文件,可以:
1.ls -lSh /opt | head -5
find 本身就是查找命令,可以递归查找一个目录的子目录,所以用它是自然的。
比如,查找 / 目录下最大的一个文件:
1. sudo find / -type f -printf “%st%pn” | sort -n | tail -1
如果要找前 10 个大文件呢,可以这样:
2. $ find $HOME -type f -printf ‘%s %pn’ | sort -nr | head -10
也可以使用 -size 选项来查找,以下命令将显示大于100MiB(注意不是100MB,MiB和MB的区别,emmm)的所有文件:
3. find / -size 100M-ls
也可以查找一个区间大小的(比如 100MiB 和 200MiB )之间的文件:
4. find / -size 100M-size -200M-ls
最后,下面这个命令也比较常用,查找某个目录最大的5个文件:
5. find $DIRECTORY -type f -exec ls -s {} ; | sort -n | tail -n 5
补充一点,find 也可以查找最近的文件:少于或等于n天(-ctime -n)的文件或属于特定用户(-user mrlinus)的文件。
du 命令可以查看磁盘空间的使用情况,自然也可以用来查看磁盘上占用空间较多的文件和文件夹。
比如,查找 / 下前 20 个最大的文件:
6.sudo du -a / | sort -n -r | head -n 20
查找当前文件夹中最大的 10 个目录:
7.sudo du -a | sort -n -r | head -n 10
如果要显示可读的KB、MB、GB信息,可以加上 -h 参数:
8.du -hs * | sort -rh | head -n 10
查找最大目录/文件(包括子文件夹):
9.du -Sh| sort -rh | head -n 10
如果只看大小在 GB 范围内的所有文件,可以同时使用 du 命令和 grep 命令:
10.du -h -a /dir | grep “[0-9]Gb”
1.安装expect工具
expect是建立在tcl基础上的一个自动化交互套件, 在一些需要交互输入指令的场景下, 可通过脚本设置自动进行交互通信. 其交互流程是:
spawn启动指定进程 -> expect获取指定关键字 -> send想指定进程发送指定指令 -> 执行完成, 退出.
由于expect是基于tcl的, 所以需要确保系统中安装了tcl:
# 检查是否安装了tcl:
# 如果没有安装, 使用yum安装tcl和expect:
[root@localhost ~]# yum install -y tcl
[root@localhost ~]# yum install -y expect
# 查看expect的安装路径:
2.expect的常用命令
命 令 |
说 明 |
spawn |
启动新的交互进程, 后面跟命令或者指定程序 |
expect |
从进程中接收信息, 如果匹配成功, 就执行expect后的动作 |
send |
向进程发送字符串 |
send exp_send |
用于发送指定的字符串信息 |
exp_continue |
在expect中多次匹配就需要用到 |
send_user |
用来打印输出 相当于shell中的echo |
interact |
允许用户交互 |
exit |
退出expect脚本 |
eof |
expect执行结束, 退出 |
set |
定义变量 |
puts |
输出变量 |
set timeout |
设置超时时间 |
3.作用原理简介
3.1 示例脚本
这里以ssh远程登录某台服务器的脚本为例进行说明, 假设此脚本名称为remote_login.sh:
3.2 脚本功能解读
(1) #!/usr/bin/expect
上述内容必须位于脚本文件的第一行, 用来告诉操作系统, 此脚本需要使用系统的哪个脚本解析引擎来执行.
具体路径可通过command -v expect命令查看.
注意:
这里的expect和Linux的bash、Windows的cmd等程序一样, 都是一种脚本执行引擎.
脚本需要有可执行权限(chmod x remote_login.sh, 或chmod 755 auto_login.sh), 然后通过命令./remote_login.sh运行即可;
如果输入sh remote_login.sh, 意义就不一样了: 明确调用sh引擎去执行此脚本, 此时首行的#!/usr/bin/expect就失效了.
(2) set timeout 30
设置连接的超时时间为30秒.
(3)
spawn ssh -l root 172.16.22.131
spawn、send等命令是expect工具中的内部命令, 如果没有安装expect工具, 就会出现"spawn not found"等错误.
不要用which spawn之类的命令去找spawn, 因为并没有这样的程序.
(4) expect "password*"
这个命令用来判断上次输出结果里是否包含"password*"的字符串, 如果有则立即返回, 否则就等待一段时间后返回. 这里的等待时长就是前面设置的timeout, 也就是30秒.
(5) send "123456\r"
这里就是执行交互动作, 作用等同于手工输入密码.
提示: 命令字符串结尾加上\r, 这样的话, 如果出现异常等待的状态就能够停留下来, 作进一步的核查.
(6) interact
expect执行完成后保持用户的交互状态, 这个时候用户就可以手工操作了.
如果没有这一句, expect执行完成后就会退出脚本刚刚远程登录过去的终端, 用户也就不能继续操作了
4.其他脚本使用示例
4.1 直接通过expect执行多条命令
注意首行内容, 这种情况下就只能通过./script.sh来执行这类脚本了:
#!/usr/bin/expect -f
set timeout 10
# 切换到root用户, 然后执行ls和df命令:
spawn su - root
expect "Password*"
send "123456\r"
expect "]*" # 通配符
send "ls\r"
expect "#*" # 通配符的另一种形式
send "df -Th\r"
send "exit\r" # 退出spawn开启的进程
expect eof # 退出此expect交互程序
4.2 通过shell调用expect执行多条命令
注意首行内容, 这种情况下可通过sh script.sh、bash script.sh 或./script.sh, 都可以执行这类脚本:
#!/bin/bash
ip="172.16.22.131"
username="root"
password="123456"
# 指定执行引擎
/usr/bin/expect <<EOF
set time 30
spawn ssh $username@$ip df -Th
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password:" { send "$password\r" }
}
expect eof
EOF
5.spawn not found 的解决
出现这个错误的基本上都是出学者: Linux 执行shell脚本有两种方式:
一种是将脚本作为sh的命令行参数, 如sh remote_login.sh, 或sh /data/remote_login.sh;
一种是将脚本作为具有执行权限的可执行脚本, 如./remote_login.sh, 或/data/remote_login.sh.
而作为sh命令行参数来运行, 那么脚本第一行的#!/usr/bin/expect就会失效, 所以才会出现spawn not found、send not found等错误, 所有上面的automate_login.sh脚本必须用以下命令运行:
./automate_expect.sh
原理:
多块网卡虚拟成一张,实现冗余;多张网卡对外显示一张,具有同一个IP;
工作在网卡是混杂模式的情况下;
对于多物理网卡的 Bond 网卡而言,其中一块物理网卡会被设置为 Master,其他的网卡都是 Slave,Bond 网卡的 MAC 地址取自标志为 Master 的物理网卡,然后将这个 MAC 地址复制到其他物理网卡上;
工作模式:
在主备模式下 , 只有主网卡 eth0 工作,eth1 作为备份网卡是不工作的,只有当一个网络接口失效时 ( 例如主交换机掉电等 ),为了不会出现网络中断,系统会按照配置指定的网卡顺序启动工作,保证机器仍能对外服务,起到了失效保护的功能。
在负载均衡模式下,由于两块网卡都正常工作,它能提供两倍的带宽,在这种情况下出现一块网卡失效,仅仅会是服务器出口带宽下降,也不会影响网络使用。
# service NetworkManager stop (关闭NetworkManager服务)
# service NetworkManager stop (关闭NetworkManager服务)
【配置操作】
测试环境qinlin7
1、添加并更改ifcfg-bond0
DEVICE=bond0
IPADDR=10.10.132.139
NETMASK=255.255.255.0
GATEWAY=10.10.132.254
ONBOOT=yes
BOOTPROTO=yes
说明:截图中的USERCTL参数可以不设置!!
2、编辑ifcfg-eth0
BOOTPROTO=none
DEVICE=eth0
MASTER=bond0
SLAVE=yes ##注意:若配置,则不需要再配置/etc/rc.d/rc.local
ONBOOT=yes
GWADDR=00:50:56:a1:6b:c5 ###可以不要
3、编辑ifcfg-eth1
BOOTPROTE=none
DEVICE=eth1
MASTER=bond0
SLAVE=yes
ONBOOT=yes
HQADDR=00:50:a1:3f:73 ###可以不要
4、此系统中没有/etc/modprobe.conf
则编辑# vim /etc/modprobe.d/mlx4.conf
alias bond0 bonding
options bond0 miimon=100 mode=1
说明:
mode=0表示load balancing (round-robin)为负载均衡方式;
mode=1表示fault-tolerance (active-backup)提供冗余功能;
若在bond配置文件中配置BONDING_OPTS="mode=5 miimon=100",该地方可以不配置
5、加载bonding模块
# modprobe bonding
6、重启物理机
# init 6 && reboot
说明:init 6重启速度会比较快!!
!
7、查看bond绑定状态
# vim /proc/net/bonding/bond0
8、测试:
# ifdown eth0
bonding后,eth1仍然工作,虚拟机网络仍是通的;剩余eth1和bonding的mac地址仍然一样;
查看网络是否还通着:
查看bonding的状态:
附录:
七种bond模式说明:
第一种模式:mod=0 ,即:(balance-rr)Round-robin policy(平衡抡循环策略)
特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降
第二种模式:mod=1,即: (active-backup)Active-backup policy(主-备份策略)
特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N
第三种模式:mod=2,即:(balance-xor)XOR policy(平衡策略)
特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址 XOR 目标MAC地址)% slave数量。其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能力
第四种模式:mod=3,即:broadcast(广播策略)
特点:在每个slave接口上传输每个数据包,此模式提供了容错能力
第五种模式:mod=4,即:(802.3ad)IEEE 802.3ad Dynamic link aggregation(IEEE802.3ad 动态链接聚合)
特点:创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将多个slave工作在同一个激活的聚合体下。外出流量的slave选举是基于传输hash策略,该策略可以通过xmit_hash_policy选项从缺省的XOR策略改变到其他策略。需要注意的 是,并不是所有的传输策略都是802.3ad适应的,尤其考虑到在802.3ad标准43.2.4章节提及的包乱序问题。不同的实现可能会有不同的适应 性。
必要条件:
条件1:ethtool支持获取每个slave的速率和双工设定
条件2:switch(交换机)支持IEEE802.3ad Dynamic link aggregation
条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式
第六种模式:mod=5,即:(balance-tlb)Adaptive transmit load balancing(适配器传输负载均衡)
特点:不需要任何特别的switch(交换机)支持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。
该模式的必要条件:ethtool支持获取每个slave的速率
第七种模式:mod=6,即:(balance-alb)Adaptive load balancing(适配器适应性负载均衡)
特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receiveload balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。
来自服务器端的接收流量也会被均衡。当本机发送ARP请求时,bonding驱动把对端的IP信息从ARP包中复制并保存下来。当ARP应答从对端到达时,bonding驱动把它的硬件地址提取出来,并发起一个ARP应答给bond中的某个slave。使用ARP协商进行负载均衡的一个问题是:每次广播 ARP请求时都会使用bond的硬件地址,因此对端学习到这个硬件地址后,接收流量将会全部流向当前的slave。这个问题可以通过给所有的对端发送更新(ARP应答)来解决,应答中包含他们独一无二的硬件地址,从而导致流量重新分布。当新的slave加入到bond中时,或者某个未激活的slave重新 激活时,接收流量也要重新分布。接收的负载被顺序地分布(roundrobin)在bond中最高速的slave上当某个链路被重新接上,或者一个新的slave加入到bond中,接收流量在所有当前激活的slave中全部重新分配,通过使用指定的MAC地址给每个 client发起ARP应答。下面介绍的updelay参数必须被设置为某个大于等于switch(交换机)转发延时的值,从而保证发往对端的ARP应答 不会被switch(交换机)阻截。
必要条件:
条件1:ethtool支持获取每个slave的速率;
条件2:底层驱动支持设置某个设备的硬件地址,从而使得总是有个slave(curr_active_slave)使用bond的硬件地址,同时保证每个 bond 中的slave都有一个唯一的硬件地址。如果curr_active_slave出故障,它的硬件地址将会被新选出来的 curr_active_slave接管其实mod=6与mod=0的区别:mod=6,先把eth0流量占满,再占eth1,….ethX;而mod=0的话,会发现2个口的流量都很稳定,基本一样的带宽。而mod=6,会发现第一个口流量很高,第2个口只占了小部分流量
IDC里的一台服务器的/分区使用率爆满了!已达到100%!经查看发现有个文件过大(80G),于是在跟有关同事确认后rm -f果断删除该文件。但是发现删除该文件后,/分区的磁盘空间压根没有释放出来,使用率还是100%!这是为什么呢??
[root@linux]# df -hFilesystem
在Linux系统中,通过rm或者文件管理器删除文件,只是将它会从文件系统的目录结构上解除链接(unlink),也就是说只是删除了文件和系统目录结构的链接;如果文件在删除时是被打开的(有一个进程正在使用该文件,文件被进程锁定或者有进程一直在向这个文件写数据等)状态,那么进程将仍然可以读取该文件,也就是说没有删除掉文件在读取的状态,所以磁盘空间也就会一直被占用。
一个文件在文件系统中的存放分为两个部分:数据部分和指针部分,指针位于文件系统的meta-data中,数据被删除后,这个指针就从meta-data中清除了,而数据部分存储在磁盘中,数据对应的指针从meta-data中清除后,文件数据部分占用的空间就可以被覆盖并写入新的内容,之所以出现删除文件后,空间还没释放,就是因为有进程还在一直向这个文件写入内容,导致虽然删除了文件,但文件对应的指针部分由于进程锁定,并未从meta-data中清除,而由于指针并未被删除,那么系统内核就认为文件并未被删除,因此通过df命令查询空间并未释放也就不足为奇了。
1.通过lsof|grep deleted命令获取到已经被删除但是仍然被应用程序占用的文件列表,然后kill掉还在占用所删除文件的进程。需要注意的是:如果有很多进程都在使用所删除文件,那么采用第1种方式kill进程就有点麻烦了,而且风险也比较大。因为kill进程是通过截断proc文件系统中的文件可以强制要求系统回收分配给正在使用的的文件。必须要确定不会对运行中的进程造成影响时才能使用,应用程序对这种方式支持的并不好,当一个正在使用的文件被截断可能会引发不可预知的问题。
杀掉filebeat进程后磁盘空间恢复
2,或停掉或重启使用这个所删除文件的应用,让OS自动回收磁盘空间。
3,也可以重启操作系统,不过这并不是最好的方法
4,对待这种进程不停对文件写日志的操作,要释放文件占用的磁盘空间,最好的方法是在线清空这个文件。通过这种方法,磁盘空间不但可以马上释放,也可保障进程继续向文件写入日志。
在线清空文件(比如/home/111.log)的方式:
a)# echo " " > /home/111.log
b)# cat /dev/null > /home/111.log
c)# > /home/111.log
还有一种磁盘空间使用问题的现象:明明使用df -h命令查看磁盘空间使用率不算高,还有很多空余空间,但是创建文件或写入数据时一直报错磁盘写满:” no space left on device”!
一般这种问题都是由于分区目录下deleted删除后的资源空间没有真正释放出来导致的, 具体处理流程如下:
1.先df -lh查看一下磁盘使用状况, 发现/data分区下的Used已用空间很大, 但是实际查看并没有占用那么大的空间!
2.找到被删除文件所在的分区, 比如/data分区
3.查看被删除了的所有文件:lsof -n /data |grep deleted
4.杀死这些文件的delete进程, 释放空间: lsof -n /data |grep deleted|awk ‘{print $2}’|xargs kill -9
5.接着再运行lsof -n /data |grep delete,应该就没有结果了。
6.注意: 刚杀死deleted进程时, df -h查看/data 分区, Used已用空间可能时瞬间显示过大, 但随着deleted进程杀死, 资源逐渐释放, /data分区下的Used已用空间会逐渐变小, Avail可用空间会逐渐变大)
大多数文件系统都会保留一部分空间留作紧急情况时用(比如硬盘空间满了),这样能保证有些关键应用(比如数据库)在硬盘满的时候有点余地,不致于马上就 crash,给监控系统和管理员一点时间去察觉。不过有时候这部分预留的硬盘空间不用的话有点浪费。
在Linux系统中,ext2、ext3、ext4文件系统上通常会默认预留5%的磁盘空间,比如磁盘如果是2TB,这就意味着有100GB的空间会被预留下来,这样的话会不会显得有点浪费了。可以通过”tune2fs”命令来改变5%的默认设置,比如只预留2%的空间。但是不建议设成0%,现实环境中这样做不安全。
Linux 查看端口占用情况可以使用 lsof 和 netstat 命令。
lsof(list open files)是一个列出当前系统打开文件的工具。
lsof 查看端口占用语法格式:
lsof -i:端口号
查看服务器 8000 端口的占用情况:
# lsof -i:8000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nodejs 26993 root 10u IPv4 37999514 0t0 TCP *:8000 (LISTEN)
可以看到 8000 端口已经被轻 nodejs 服务占用。
lsof -i 需要 root 用户的权限来执行,如下图:
更多 lsof 的命令如下:
lsof -i:8080:查看8080端口占用
lsof abc.txt:显示开启文件abc.txt的进程
lsof -c abc:显示abc进程现在打开的文件
lsof -c -p 1234:列出进程号为1234的进程所打开的文件
lsof -g gid:显示归属gid的进程情况
lsof d /usr/local/:显示目录下被进程开启的文件
lsof D /usr/local/:同上,但是会搜索目录下的目录,时间较长
lsof -d 4:显示使用fd为4的进程
lsof -i -U:显示所有打开的端口和UNIX domain文件
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。
netstat 查看端口占用语法格式:
netstat -tunlp | grep 端口号
-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名
例如查看 8000 端口的情况,使用以下命令:
# netstat -tunlp | grep 8000
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 26993/nodejs
更多命令:
netstat -ntlp //查看当前所有tcp端口
netstat -ntulp | grep 80 //查看所有80端口使用情况
netstat -ntulp | grep 3306 //查看所有3306端口使用情况
在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:
kill -9 PID
如上实例,我们看到 8000 端口对应的 PID 为 26993,使用以下命令杀死进程:
kill -9 26993
1.光通路诊断面板
提醒按钮:该按钮将前面板上的系统错误指示灯置为提醒方式。在提醒方式下,系统错误指示灯每 2 秒闪烁一次,直至问题得到纠正、系统重新启动或发生新的问题。通过将系统错误指示灯置为提醒方式,可确认您已知道发生的上一个故障,但暂时不立即采取措施来纠正问题。提醒功能由 IMM 控制。
NMI按钮:按下该按钮以强制微处理器发生不可屏蔽中断。它允许您使服务器出现蓝屏并进行内存转储(仅当由 IBM 服务支持人员指导时,才可使用该按钮)。
检查点代码屏幕:该屏幕提供检查点代码,表明系统在引导块和 POST 期间会在该点停止。检查点代码是由 UEFI 生成的字节值或字值。该屏幕不提供错误代码或建议要更换的组件。
复位按钮:按下该按钮可重置服务器并运行开机自检(POST)。您可能需要使用笔尖或拉直的回形针的末端来按该按钮。复位按钮位于光通路诊断面板的右下角。
over spec指示灯:当此指示灯发亮时,表明对电源的需求超过了指定的电源供应。
log指示灯:当此指示灯发亮时,表明事件日志有报错,应该查看事件日志。
link指示灯:当此指示灯发亮时,网卡出现故障。
ps指示灯:当此指示灯发亮时,表明电源出现故障。
pci指示灯:当此指示灯发亮时,表明某个pci 总线发生错误。
sp指示灯:当此指示灯发亮时,表明流处理器遇到错误(sp的作用就是处理由CPU传输过来的数据,处理后转化为显示器可以辨识的数字信号)
fan:当此指示灯点亮时,表明散热风扇或电源风扇出现故障或运行太慢。风扇发生故障还会导致temp 指示灯发亮。
temp 指示灯:当此指示灯发亮时,表明系统温度超出过高。
mem 指示灯:当此指示灯发亮时,表明发生内存错误。
nmi 指示灯:当此指示灯发亮时,表明出现一个不可屏蔽中断(nmi)。
cnfg指示灯:当此指示灯发亮时,表明BIOS配置错误。
cpu 指示灯:当此指示灯发亮时,表明某个微处理器出现故障。
vrm 指示灯:当此指示灯发亮时,表明微处理器托盘上的某个vrm 出现故障。
dasd 指示灯:当此指示灯发亮时,表明某个热插拔硬盘驱动器出现故障。
raid 指示灯:当此指示灯发亮时,表明阵列卡故障。
brd 指示灯:当此指示灯发亮时,表明某个连接的i/o 扩展单元出现故障。
2.操作员信息面板
电源控制按钮外盖:将此外盖滑动到电源控制按钮上方可防止服务器被意外关闭。
电源控制按钮:按下该按钮可手动开启和关闭服务器。
供电指示灯: 如果该指示灯点亮并且不闪烁,表示服务器已开启;如果该指示灯闪烁,表示服务器已关闭并且仍然连接到交流电源;如果该指示灯熄灭,表示没有交流电源或者电源或指示灯本身出现故障。注:如果该指示灯熄灭,并不表示服务器中没有电源。该指示灯可能已烧毁。要切断服务器的所有电源,必须从电源插座中拔出电源线。
以太网图标指示灯:此指示灯可点亮以太网图标。
以太网活动指示灯:如果这些指示灯闪烁,表示在它们指示的端口处存在服务器和网络之间的活动。
定位器指示灯:使用该指示灯可以用肉眼在众多服务器中找到目标服务器。可以使用IBM Director 远程点亮该指示灯,也可以按下定位器按钮手动点亮该指示灯。在启动期间该指示灯也会点亮。在多节点配置中,如果该指示灯闪烁,表示与它对应的服务器是主节点。如果该指示灯持续点亮,表示与它对应的服务器是辅节点。
定位器按钮:按此按钮可以手动打开或关闭定位器指示灯。 在多节点配置中,按该按钮可以打开或关闭配置中所有节点的定位器指示灯。
信息指示灯:如果该指示灯点亮,表示服务器中有某个方面未达到最佳状态,同时光通路诊断会亮起另外一个指示灯,以帮助找出问题。只有在解决了此问题或按了提醒按钮后,该指示灯和光通路诊断面板上的指示灯才会熄灭。
系统错误指示灯:如果该指示灯点亮,表示发生了系统错误。光通路诊断面板上的一个指示灯也会点亮,以帮助找出此错误。
1.服务器启动的过程中按“F10”intelligent provisioning进入智能配置
2.在配置界面点击选择Smart Array P420i,右边执行动作选择Configure
3.选择Unassigned Drives未分配的驱动器,选择要制作的硬盘,然后点击创建。
4.此处以制作raid0为例。如下图,点击创建
5.点击YES,确定继续。
6.右上角点击刷新。
7.可以看到多了一个logical Devices。