相关配置文件:/usr/share/applications目录中的 *.desktop文件相关目录:$HOME/.config/menus/etc/xdg/menus/usr/share/desktop-directories修改后一般要更新数据库:updatedb, update-desktop-databaseupdate-desktop-database和update-desktop-*系列程序都位于xdg-utils 包中--------------------------------------------------------------------------------------------------------------------------qt4-qtconfig位于System-Administration,现在要把它更改到Applications-->Programming菜单下面:更改(vim /usr/share/applications/qt4-qtconfig.desktop)其中的Categories=Qt;Settings;为 Categories=Qt;Development;为何不是Categories=Qt;Programming;呢?切换到/usr/share/desktop-directories目录下面:[[email protected] desktop-directories]# grep Programming *Development.directory:Name=ProgrammingDevelopment.directory:Name[en_CA]=ProgrammingDevelopment.directory:Name[en_GB]=ProgrammingDevelopment-More.directory:Name=More Programming ToolsDevelopment-More.directory:Name[en_GB]=More Programming Tools打开Development.directory文件,开头如下[Desktop Entry]Name=Programming....................说明Categories=Development在菜单中对应的就是Programming菜单目录。最后,Categories=Qt;Development;同样可以写成Categories=Development;如果想在Applications菜单项中添加一个新的菜单目录,可以通过添加/etc/xdg/menus目录中的条目来完成;其中<Menu>二级目录中的条目正好和桌面Applications中的条目相等。对于条目内容为空的,在Applications中将不会显示;比如在applications.menu文件中写有Education目录菜单,但是因为在/usr/share/applications目录下面列举的程序没有程序使用Categories=Education;所以,在Applications目录菜单中,没有Education子目录菜单。尝试修改任何一个.desktop文件(qt4- qtconfig.desktop),把Categories改成Education,立刻就会在Applications目录菜单中显示出 Applications-->Education--->qt4 config(rpm -qi xdg-utils-1.0.2-2.fc8)The following scripts are provided at this time:* xdg-desktop-menu      Install desktop menu items* xdg-desktop-icon      Install icons to the desktop* xdg-icon-resource     Install icon resources* xdg-mime              Query information about file type handling and                        install descriptions for new file types* xdg-open              Open a file or URL in the user's preferred application* xdg-email             Send mail using the user's preferred e-mail composer* xdg-screensaver       Control the screensaver===========================================[[email protected] menus]# pwd/etc/xdg/menus[[email protected] menus]# lltotal 60-rw-r--r-- 1 root root 12282 Dec 6 16:01 applications.menudrwxr-xr-x 2 root root 4096 Nov 9 17:16 applications-merged-rw-r--r-- 1 root root   488 Jul 6 16:58 gnome-screensavers.menu-rw-r--r-- 1 root root   279 Sep 10 2005 kde-information.menu-rw-r--r-- 1 root root   288 Sep 10 2005 kde-screensavers.menu-rw-r--r-- 1 root root 2198 Aug 10 15:03 kde-settings.menu-rw-r--r-- 1 root root 3020 Oct 19 23:53 preferences.menudrwxr-xr-x 2 root root 4096 Oct 19 23:53 preferences-mergeddrwxr-xr-x 2 root root 4096 Nov 9 17:19 preferences-post-merged-rw-r--r-- 1 root root 1241 Oct 19 23:53 server-settings.menu-rw-r--r-- 1 root root 1127 Oct 19 23:53 settings.menu-rw-r--r-- 1 root root   920 Oct 19 23:53 start-here.menu-rw-r--r-- 1 root root 3294 Oct 19 23:53 system-settings.menuapplications.menu文件可以设置在菜单项中是否包含某个菜单项,甚至可以exclude.疑问).desktop文件所执行程序的查询路径是什么?答:执行程序时路径设置在PATH环境变量中,.desktop文件通过其中的exec来指定要执行的应用程序,并在PATH所定义的路径中查找相应的应用程序。可以通过如下方式查看:[[email protected] ~]# echo $PATH/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin疑问).desktop文件是如何执行”可执行应用程序“的?答:可以先看一个简单的.desktop文件内容:[[email protected] ~]# cat /usr/share/applications/amule.desktop[Desktop Entry]Encoding=UTF-8//编码方式Name=aMule//应用程序名称,Comment=aMule//鼠标经过上面时的提示名称Exec=amule//可执行应用程序的实际名称Icon=amule.png//显示在菜单项中的图标,可以为空Terminal=false//是否使用终端Type=Application//分类Categories=Application;Network; //分类.desktop文件通过上述Exec=amule知道了应用程序的名称,并且区分大小写,并在PATH环境变量所默认设定的路径中查找,查找到即可执行,查找不到则报错,除非用户自己在PATH中设定了此应用程序所处的特殊路径。

一、修改SSH端口 vi /etc/ssh/sshd_config 找到其中的#Port 22(第13行),去掉#,修改成Port 3333 使用如下命令,重启SSH服务,注:以后用新端口登陆。 service sshd restart 二、禁止ROOT登陆 先添加一个新帐号80st ,可以自定义: useradd 80st 给weidao 帐号设置密码: passwd 80st 仍旧是修改/etc/ssh/sshd_config文件,第39行:#PermitRootLogin yes,去掉前面的#,并把yes改成no,然后,重启SSH服务。以后,先使用weidao 登陆,再su root即可得到ROOT管理权限。 login as: 80st [email protected] password:***** Last login: Tue Nov 22 15:18:18 2011 from 1.2.3.4 su root Password:*********** #注这里输入ROOT的密码 三、使用DDos deflate简单防落CC和DDOS攻击 使用netstat命令,查看VPS当前链接确认是否受到攻击: netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n IP前面的数字,即为连接数,如果说正常网站,几十到一百都属于正常连接,但出现几百,或上千的就可以垦定这个IP与你的VPS之间可能存在可疑连接现象。 可以使用iptables直接BAN了这个IP的永久访问: iptables -A INPUT -s 12.34.56.78 -j DROP 使用软件DDos deflate来自动检测并直接BAN掉的方法,首先要确认一下iptables服务状态,默认CENTOS就安装的,不看也行。 service iptables status 安装DDos deflat: wget http://www.inetbase.com/scripts/ddos/install.sh chmod +x install.sh ./install.sh 安装后需要修改/usr/local/ddos/ddos.conf,主要是APF_BAN=1要设置成0,因为要使用iptables来封某些可疑连接,注意EMAIL_TO=”root”,这样BAN哪个IP会有邮件提示: ##### Paths of the script and other files PROGDIR=”/usr/local/ddos” PROG=”/usr/local/ddos/ddos.sh” IGNORE_IP_LIST=”/usr/local/ddos/ignore.ip.list” //IP地址白名单 CRON=”/etc/cron.d/ddos.cron”//定时执行程序 APF=”/etc/apf/apf” IPT=”/sbin/iptables” ##### frequency in minutes for running the script ##### Caution: Every time this setting is changed, run the script with –cron ##### option so that the new frequency takes effect FREQ=1 //检查时间间隔,默认1分钟 ##### How many connections define a bad IP? Indicate that below. NO_OF_CONNECTIONS=150 //最大连接数,超过这个数IP就会被屏蔽,一般默认即可 ##### APF_BAN=1 (Make sure your APF version is atleast 0.96) ##### APF_BAN=0 (Uses iptables for banning ips instead of APF) APF_BAN=1 //使用APF还是iptables。推荐使用iptables,将APF_BAN的值改为0即可。 ##### KILL=0 (Bad IPs are’nt banned, good for interactive execution of script) ##### KILL=1 (Recommended setting) KILL=1 //是否屏蔽IP,默认即可 ##### An email is sent to the following address when an IP is banned. ##### Blank would suppress sending of mails EMAIL_TO=”root”//当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱即可 ##### Number of seconds the banned ip should remain in blacklist. BAN_PERIOD=600 //禁用IP时间,默认600秒,可根据情况调整 四、使用iftop查看详细网络状况 安装IFTOP软件: yum -y install flex byacc libpcap ncurses ncurses-devel libpcap-devel wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz tar zxvf iftop-0.17.tar.gz cd iftop-0.17 ./configure make && make install 安装后,使用iftop运行,查看网络情况。TX,发送流量;RX,接收流量;TOTAL,总流量;Cumm,运行iftop期间流量;peak,流量峰值;rates,分别代表2秒、10秒、40秒的平均流量。 快捷键:h帮助,n切换显示IP主机名,s是否显示本机信息,d是否显示远端信息,N切换端口服务名称,b切换是否时数流量图形条。 五、升级LNMP中的NGINX到最新版 现在最新版是0.8.53,如果以后出新版,只要更新版本号就可以,在SSH里运行: wget http://www.nginx.org/download/nginx-0.8.53.tar.gz tar zxvf nginx-0.8.53.tar.gz cd nginx-0.8.53 ./configure –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_sub_module make mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old cd objs/ cp nginx /usr/local/nginx/sbin/ /usr/local/nginx/sbin/nginx -t kill -USR2 `cat /usr/local/nginx/logs/nginx.pid` kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin` /usr/local/nginx/sbin/nginx -v cd .. cd .. rm -rf nginx-0.8.53 rm -rf nginx-0.8.53.tar.gz 六、常用netstat命令: 1.查看所有80端口的连接数 netstat -nat|grep -i “80″|wc -l 2.对连接的IP按连接数量进行排序 netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n 3.查看TCP连接状态 netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort -rn netstat -n | awk ‘/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}’ netstat -n | awk ‘/^tcp/ {++state[$NF]}; END {for(key in state) print key,”\t”,state[key]}’ netstat -n | awk ‘/^tcp/ {++arr[$NF]};END {for(k in arr) print k,”\t”,arr[k]}’ netstat -n |awk ‘/^tcp/ {print $NF}’|sort|uniq -c|sort -rn netstat -ant | awk ‘{print $NF}’ | grep -v ‘[a-z]‘ | sort | uniq -c 4.查看80端口连接数最多的20个IP netstat -anlp|grep 80|grep tcp|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -nr|head -n20 netstat -ant |awk ‘/:80/{split($5,ip,”:”);++A[ip[1]]}END{for(i in A) print A,i}’ |sort -rn|head -n20 5.用tcpdump嗅探80端口的访问看看谁最高 tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4}’| sort | uniq -c | sort -nr |head -20 6.查找较多time_wait连接 netstat -n|grep TIME_WAIT|awk ‘{print $5}’|sort|uniq -c|sort -rn|head -n20 7.找查较多的SYN连接 netstat -an | grep SYN | awk ‘{print $5}’ | awk -F:

# dd if=/dev/zero of=/.swapf bs=1024 count=102400  #bs默认为512,count默认单位是KB;# mkswap /.swapf# swapon /.swapf# swapon -s  #显示swap挂载情况;编辑/etc/fstab:/.swapf swap swap defaults 0 0   如果有剩余空间的话,就更简单了:比如,已经划分/dev/sda7为512M# mkswap /dev/sda7# swapon /dev/sda7编辑/etc/fstab:

gcc和ifort编译器都是开发人员较为常用的,之前小编也介绍过了关于gcc编辑器在Ubuntu中安装的技巧,今天我们就来介绍Ubuntu安装ifort编译器的技巧。  方法如下:  Intel Fortan Compiler简称ifort, Windows下的ifort是收费的,但是Linux系统下提供免费的ifort,可以在下面的链接中下载需要的版本(必须先注册,随后会收到官网发来的邮件,里面提供了接下来安装需要的series-number)http://software.intel.com/en-us/articles/non-commercial-software-download/  在Ubuntu下安装ifort之前,需要先安装一些软件包  sudo apt-get install build-essential  sudo apt-get install g++  sudo apt-get install gcc-multilib  sudo apt-get install rpm  sudo apt-get install openjdk-6-jre-headless  sudo apt-get install libstdc++6  将下载下来的文件解压 tar -zxvf l...tgz  安装  进入上面解压过后的文件夹,sudo install.sh  安装一共分六步,根据自己的需要选择设置信息,一般一路enter下去即可。  修改运行环境信息  将source /opt/intel/bin/ifortvars.sh ia32 添加到 ~/.bashrc文件里  检测安装是否成功  ifort -v 或 ifort -V  以上就是小编总结出来的安装ifort编译器的方法了。有需要的友友可以按照小编的方法一步步来,以防系统安装出错。希望本教程可以帮助到你。

1 什么是RAID,RAID的级别和特点 ;什么是RAID呢?全称是 “A Case for Redundant Arrays of Inexpensive Disks (RAID)”,在1987年,由加州大学伯克利大学发表的论文而来,其实就是这个标题的缩写就是RAID;中译为“磁盘阵列”;RAID就是把几个物理磁盘组合在一起成为一个大的虚拟物理磁盘,主要目的和用途主要有:把若干小容量物理磁盘组成一个大容量虚拟存储设备(以前的物理磁盘的容量都比较小);提高物理存储效率(读、写),或提供冗余以提高数据存储的安全性。根据应用方向的不同,RAID也分不不同级别 ,有LINEAR、RAID0、RAID1、RAID5、RAID10、RAID4、RAID6、MULTIPATH。常用的有RAID0、RAID1、RAID5、RAID10(其实就是0+1)、LINEAR1.1 什么是硬件RAID和软RAID;RAID 还分为硬件RAID 和软件RAID,硬件RAID是通过RAID 卡来实现的,而软件RAID是通过软件来实现的;在企业级应用领域,大部份都是硬件RAID。而软件RAID由于性价比高,大多被中小型企业所采用;硬件RAID是通过RAID卡把若干同等容量大小的硬盘,根据使用方向的不同,聚合起来成为一个大的虚拟RAID设备(或RAID0,或RAID1,或者RAID5,或RAID10……),如果每个硬盘容量不一致,以最小容量的硬盘为基础;它的成员是整个硬盘;软RAID是软把若干同等容量大小的硬盘或分区,根据使用方向的不同,聚合起来成为一个大的虚拟RAID设备(或RAID0,或RAID1,或者RAID5,或RAID10……),如果每个硬盘或分区容量不一致,以最小容量的硬盘或分区为基础。软RAID的成员是整个硬盘或分区;RAID 总的来说还是应用在生产型项目领域中,一般在商用办公或个人娱乐应用并未被大规模采用。应有领域大多要求性价比级的低端服务器或PC-SERVER;1.2 RAID 的级别及特点;RAID 有几种级别,LINEAR,RAID0 (striping), RAID1 (mirroring), RAID4, RAID5, RAID6, RAID10, MULTIPATH, and FAULTY.其中我们常用有RAID0、RAID1、RAID5、RAID10。下面我们说说常用的RAID0、RAID1、RAID5以及RAID10;1.21 什么是软RAID0及特点;RAID0 是把两个或两个以上的容量相同的硬盘或分区,通过RAID控制器(硬RAID是通过RAID卡来实现的,软RAID 是通过软件来实现的),结合为一个在容量上是RAID0下成员的容量的总和,在写入时,要向每个硬盘或分区同时写入数据。在硬RAID中,RAID0的成员是以整个硬盘为单位的,把两个硬盘或两个以上的硬盘通过RAID卡绑定成为一个虚拟的磁盘设备,而每个硬盘就是RAID0的成员;在软RAID0中,RAID0的成员是整个硬盘或分区,容量是加入RAID0的所有成员容量的总和。在RAID0中每个成员的容量都是相同一致的。比如我们把 /dev/sdb 、/dev/sdc、/dev/sdd 三个容量大小为80G的硬盘做成RAID0,这时RAID0设备的容量就是三个硬盘的总和 80x3=240G。当然我们也可以,在写入数据时,系统要向每个硬盘同时写入数据,是以条块的形式写入。比如我们存一份数据linuxsir.tar.gz 到RAID0的设备中,这份数据是分拆成若干份被分散的写入到RAID0中的每个成员中。只有RAID0中的每个成员正常运行,并且RAID0也正常运行的情况下,这份数据才是完整的。RAID0中任何一个成员(硬盘分区)有有问题时,RAID0便不能运行,同时数据也不是完整的;RAID0 在读写速度上是比较快的,是普通不做RAID的两倍左右(注:实际速度和机器的硬件配置有关),所以RAID0常被用于对存储效率要求较高,但对数据安全性要求不高的应用解决方案中;安全性:RAID0中有任何一个成员出现故障,整个RAID0就不能被激活。数据不能保障;1.22 什么是软RAID1及特点;RAID1就是把若干相同容量的硬盘或分区,成员与成员之间是镜像关系。在容量上,RAID1设备是单个成员的容量。比如两个80G的硬盘做成RAID1,这个RAID1的设备容量仍是80G。比如我们写入一个份数据linuxsir.tar.bz2 到RAID1设备时,其实是向RAID的每个成员都写了一份。比如RAID1设备下有两个成员/dev/sdb和/dev/sdc ,我们写入linuxsir.tar.bz2 到RAID1时,/dev/sdb和/dev/sdc都有一份完整的linuxsir.tar.bz2。 所以RAID1是冗余的阵列,一般被用于安全性要求比较高的应用中。因为RAID1在由于镜像冗余,所以磁盘利用效率并不高,或者说是“浪费”。这种方案相对来说性价比并不高,一般很少应用。数据读写效率要比RAID0慢。安全性:RAID1 中只要有一个成员是健康的,RAID1完全可以激活,而且数据绝对是完整安全的。如果所有的成员有故障,RAID1也就报废了。哈哈,这不是废话吗?1.23 什么是软RAID5及特点;软RAID5也是冗余安全的,RAID5是把至少三个硬盘或分区通过软件虚拟成为一个大的存储设备。在容量上是(n-1)x单个硬盘(分区)容量 ,比如我们用三块80G硬盘做成RAID5,容量就是两块容量的和160G。在写入上,数据被分拆成若干份,分别向RAID5的每个成员下写入。比如把linuxsir.tar.bz2写入RAID5时, 要先把linuxsir.tar.bz2分拆成若干份,分别写入RAID5成员中。因为涉及到冗余,所以数据在读入速度上并不是很快,没办法和RAID0相比,但RAID5的写入数据速度没有RAID1和RAID0快,也没有不做RAID的磁盘写入速度要快;因为RAID5在容量损失比较小,有冗余安全保障,另外写入速度比较快,从整体上来看,性价比比较高,所以被大范围内采用;安全性:当RAID5中的成员中有一个发生故障时,RAID5一样能启动和正常运行,只要n-1(注n>3)块硬盘或分区的不出故障,RAID5上的数据就是安全,对于一个文件存到RAID5设备中,只有成员是n-1(注n>3)无故障时,这份文件才是完整的。 比如RAID5有四个硬盘(或分区)做的,当一个硬盘或分区挂掉了,并不影响整个RAID5上数据的完整性和安全性。1.24 什么是软RAID10及特点;软RAID10也是冗余安全阵列,是RAID0+1的集成,RAID10是把至少四个硬盘或分区通过软件虚拟成为一个大的存储设备。在容量是:n/2x单个硬盘(分区)容量 ,比如我们用四块80G硬盘做成RAID5,容量就是两块容量的和4/2x80=160G。做RAID10所需要的硬盘或分区个数是偶数的。RAID10,有RAID1的镜像特点,还有RAID0的速度。可以这么理解RAID10,比如有四个硬盘做成的RAID10,过程是先把每两个硬盘做成RAID1,然后再两个RAID1的基础上再做成RAID0。从理论上来说,RAID10应该继承RAID0的速度和RAID1的冗余安全。但经过我在软RAID0、RAID1、RAID5、RAID10的测试过程中发现RAID10的写入速度是最慢的,测试方法是用超过1G的大文件几盘复制。结果发现速度由高低的顺序是:RAID0> 不做RAID>RAID1>RAID5>RAID10 2 在Linux中,软RAID的创建和管理;在Linux中,软RAID是通mdadm来创建和管理的,mdadm 是一个专用创建和管理RAID的软件,在Linux中,大多发行版本已经默认安装,mdadm能创建任何级别的软RAID;在本节中,RAID创建并不是目的,我们还要查看学会RAID的状态,启动、停止RAID。还要学会使用RAID。所以RAID的使用应该包括创建、管理和使用。 RAID的使用就是在RAID设备上创建文件系统,然后供存储应用;流程是:[RAID创建]->[RAID管理]->[RAID的使用]|[RAID的维护]2.1 RAID的创建方法;创建RAID有两个方法 ,第一种方法 :用mdadm 通过-C或--create 参数来创建RAID。这种方法 ,是把RAID信息写到每个RAID成员的 superblocks(超级块)中,在每个RAID成员的超级块中,都会记录RAID的级别、成员、RAID的UUID等…… 这种方法把RAID的信息记录在各个成员的 superblocks(超级块)中。这种方法对于重装系统或系统发生灾难来来说,有利于现有RAID的恢复;这种方法是最常用的;第二种方法:用mdadm 通过-B或--build 参数来创建RAID。这种方法并不把RAID的信息写入RAID成员的 superblocks(超级块中),所以我们无法通过查看RAID成员信息来获得RAID的级别,以及RAID的成员等;这种方法对于重装系统或系统发生灾难来来说,不利于现有RAID的恢复;如果你想用第二种方法来创建RAID,可以在下面的语法中,把-C或--create 换成 -B或--build 。语法:创建把RAID信息写入RAID每个成员的superblocks(超级块)中;mdadm -C -v /dev/mdX -lY -nZ RAID成员或mdadm --create --verbose /dev/mdX --level=Y --RAID-devices=Z RAID成员注: -C 是--create 的缩写,表示创建的意思;这种方法是创建把RAID信息写入每个RAID成员superblocks(超级块)的方法。这是最常用的方法。-v 和--verbose, 显示创建过程中详细的事件;如果把-C或--create 换成-B或--build,就是创建RAID的另一种方法,不把RAID信息写入RAID成员的superblocks(超级块)中,如果您试用,请自己尝试;RAID设备: /dev/mdX,RAID设备在Linux中,大多是/dev/md0,/dev/md1…… 第一个设备从/dev/md0开始。 比如你已经有RAID0设备是/dev/md0,你再想做一个RAID5,那就是/dev/md1,以此类推;RAID级别 : 用-lY或--level=Y表示,Y是RAID的级别。RAID的级别有RAID0就用0表示,RAID1就用1表示,RAID5就用RAID5表示,RAID10就用10表示。RAID的级别是根据自己的使用方向和现有磁盘和分区个数来定位。如果你就想高速读写、大容量,对数据安全性要求不高,那就用RAID0,如果对数据要求较高,可以用RAID1或RAID5,再者就是RAID10。比如-l0或--level=0表示RAID0,-l5或--level=5表示RAID5, -l1或--level=1表示RAID1,-l10或--level=10表示RAID10;-nZ或--RAID-devices=Z 表示RAID成员的个数,比如我们把三个硬盘分分区做成一个RAID,那就是3个设备。就要写成这样 -n3或 --RAID-devices=3;值得注意的是RAID0和RAID1至少需要两个设置,RAID5至少需要三个设备,RAID10至少四个设备;RAID成员:也就是RAID的组成设备,要一个一个的列出来,每个设备后要用空格来隔开;比如我们把/dev/sdb、/dev/sdc、/dev/sdd三个硬盘做成RAID0,在RAID设备这块,我们要写成 /dev/sdb /dev/sdc /dev/sdd ; 软件RAID的成员还可以是分区,比如 /dev/sdb1、/dev/sdc1 ……举例一:我们要做一个RAID0,成员是 /dev/sdb、/dev/sdc 两个硬盘设备。 我们要运行如下命令;mdadm -C --verbose /dev/md0 -l0 -n2 /dev/sdb /dev/sdc或mdadm -C --verbose /dev/md0 --level=0 --RAID-devices=2 /dev/sdb /dev/sdc 如果我们想把/dev/sdb1 、/dev/sdc1和/dev/sdd1三个分区做成RAID0呢?mdadm -C -v /dev/md0 -l0 -n3 /dev/sd[bcd]1或mdadm -C --verbose /dev/md0 --level=0 --RAID-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 举例二:我们要做一个RAID5 ,成员是/dev/sdb、/dev/sdc、/dev/sdd 三个设备,我们要运行如下命令;mdadm -C -v /dev/md0 -l5 -n3 /dev/sd[bcd]或mdadm -C --verbose /dev/md0 --level=5 --RAID-devices=3 /dev/sdb /dev/sdc /dev/sdd 如果我们想把/dev/sdb1 、/dev/sdc1和/dev/sdd1三个分区做成RAID5呢?mdadm -C -v /dev/md0 -l5 -n3 /dev/sd[bcd]1 或mdadm -C --verbose /dev/md0 --level=5 --RAID-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 创建完成后,RAID也就立即启动了。我们会发现有类似如下一行的提示信息:mdadm: array /dev/md0 started.我们要可以通过下面的命令来查看RAID的信息;mdadm -Ds /dev/md0mdadm -D /dev/md02.2 RAID管理工具;RAID的管理包括创建、启动、状态查看等一系列工具;我们只说常用的使用方法;2.21 RAID的启动方法;RAID的启动有两种方法,一种是指定RAID设备和RAID成员的办法来启动RAID,另一种办法是通过加载RAID默认的配置文件来启动。第一种方法:不通过读取mdadm.conf来启动RAID;适用情况是你没有配置 /etc/mdadm.conf 文件;语法:mdadm -A RAID设备 RAID成员 注:-A 同 --assemble ,意思是激活一个已经存在的RAID;RAID设备 ,就是/dev/md0 或/dev/md1 …… 根据你所创建的RAID设备为准;RAID成员,就是你要启动的RAID,其下属设备有哪些,要一个一个的列出来,中间以空格分开;举例:比如我要启动一个RAID,设备是/dev/md0,其下有成员是 /dev/sdb和/dev/sdc;所以我要用下面的办法;[[email protected]:~] mdadm -A /dev/md0 /dev/sdb /dev/sdc注: 这种情况,是没有配置RAID的配置文件/etc/mdadm.conf 时,所使用的启动方法;如果您已经配置好了/etc/mdadm.conf文件,就可以用 mdadm -As 来启动;第二种方法:利用配置好的/etc/mdadm.conf 来启动RAID;mdadm -A RAID设备 或mdadm -As注: 这种启动方法的前提是要配置 /etc/mdadm.conf文件,要把您系统中所有的RAID,都写入这个文件,然后就可以简单的用这个命令来启动了;-A 同 --assemble ,意思是激活一个已经存在的RAID;RAID设备 ,就是/dev/md0 或/dev/md1 …… 根据你所创建的RAID设备为准;举例:[[email protected]:~] mdadm -A /dev/md0[[email protected]:~] mdadm -As 注: 比如我配置好/etc/mdadm.conf 后,启动RAID设备/dev/md0,就用上面的办法。具体mdadm.conf的写法,请参见 RAID的配置文件一节;2.22 RAID管理工具一些常用参数说明;mdadm 参数 [RAID设备] [RAID成员]-A 或 --assemble 激活一个RAID;-S 和--stop 停止正在运行的设备;-s 或 --scan 扫描RAID设备;-D 或 --detail 查看RAID的详细信息;--examine 查看RAID成员的详细信息;注:其中[]中的选项是可选的。举例:[[email protected]:~]# mdadm -As [[email protected]:~]# mdadm -Ss[[email protected]:~]# mdadm -Ds[[email protected]:~]# mdadm --examine /dev/sdb注:上面的些标例, 都是在配置好/etc/mdadm.conf 的情况下,运行的,如果您没配置好mdadm.conf文件,请指定RAID设备及其成员;其中,--As 是搜索/etc/mdadm.conf ,然后根据 mdadm.conf 配置好的RAID信息来启动RAID。 -Ss 是搜索正在运行的RAID,然后停止。-Ds 搜索RAID,查看RAID信息; --examine /dev/sdb 是查看其中一块硬盘的RAID信息,这个很有用。比如你忘记了RAID的成员和UUID,想恢复现有的RAID,就要用这个来查看,然后重新让RAID启动起来。 比如系统有一个RAID,但在/etc/mdadm.conf 中没有相应的记录RAID信息。我不知道这个RAID是哪个类型的,是RAID0,还是RAID1,还是RAID5??到底机器中有几个RAID?如果您是一个新接手的管理员,应该想知道这些信息。那就一个一个硬盘,一个一个的分区查看过去。从中找出系统中所有的RAID。然后一个一个的恢复。这时就要用到 --examine这个参数了;[[email protected]:~]# fdisk -l [[email protected]:~]# # mdadm --examine /dev/sdb/dev/sdb:Magic : a92b4efcVersion : 00.90.00UUID : 35e1a3e6:ed59c368:e5bc9166:5004fe52Creation Time : Wed Aug 1 07:11:43 2007RAID Level : RAID0Used Dev Size : 0RAID Devices : 2Total Devices : 2Preferred Minor : 0Update Time : Thu Aug 2 07:43:30 2007State : activeActive Devices : 2Working Devices : 2Failed Devices : 0Spare Devices : 0Checksum : 8f8a235e - correctEvents : 0.29Chunk Size : 64KNumber Major Minor RAIDDevice Statethis 0 8 16 0 active sync /dev/sdb0 0 8 16 0 active sync /dev/sdb1 1 8 32 1 active sync /dev/sdc注:首先:我们用fdisk -l 查看一下机器中所有硬盘和分区,如果不能完全列出,请指定具体硬盘。其次:我们查看一下某个硬盘或分区上是否有RAID信息,比如我查看的是/dev/sdb ,结果显示出,/dev/sdb是RAID0设备的一个成员,/dev/sdb和/dev/sdc 共同组成的RAID0;得到这些信息有何用呢?我们就可以激活RAID,或重写/etc/mdadm.conf ,让RAID重新运行起来。在此过程中, 千万不要用-C或--create 参数来重新创建RAID,否则你以前存在的RAID就被破坏,里面的数据当然也会一无所有!!!切记。在一个有数据的RAID中,不能随便用-C 参数。如果用了-C或--create 就是创建一个新的RAID设备!

分类:网页制作

时间:2016-01-14 14:20:11