RAID
RAID能够做两件基本事情。首先,RAID通过把数据分散到多个硬盘上,因而能让多个硬盘同时工作提供或者读取一条数据流,所以可以提高性能。其次,RAID在多个硬盘上复制或者“镜像数据”,降低了由于第一块硬盘发生故障带来的风险。
在Linux上对RAID的支持包括:线性模式,RAID0,RAID1,RAID4,RAID5。
可用mdadm命令来定义管理RAID,其命令格式:
mdadm [mode] <raiddevice> [options] < component-devices >
其中,mode模式包含有:Assemble(组装模式),Create(创建RAID模式),Follow or Monitor(做监控模式),Grow(增长模式),Manage(管理模式)。可通用的选项有:-v 显示详细创建过程信息 ;-s 扫描有多少个RAID设备;-n 做RAID的设备中的活动的设备数;-x 做RAID的设备中空闲的设备数;-a 自动创建设备文件有yes和no值。对于Create Mode可有的选项:-l(--lever)RAID的级别;--chunk=X写入硬盘的数据片大小;--raid-devices=X总共有多少个设备(硬盘)。
1.)线性模式
线性模式没有提供数据冗余或者提高性能。这个模式仅仅把多个硬盘的块地址连到一起创建一个(更大的)虚拟硬盘。
2.)RAID 0:无差错控制的带区组
要实现RAID0必须要有两个以上硬盘驱动器,RAID0实现了带区组,数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上。因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡。如果刚好所需要的数据在不同的驱动器上效率最好。
3.)RAID 1:镜象结构
RAID控制器必须能够同时对两个盘进行读操作和对两个镜象盘进行写操作。必须有两个驱动器。因为是镜象结构在一组盘出现问题时,可以使用镜象,提高系统的容错能力。它比较容易设计和实现。每读一次盘只能读出一块数据,也就是说数据块传送速率与单独的盘的读取速率相同.因为RAID1的校验十分完备,因此对系统的处理能力有很大的影响,所以写入速度慢于一块硬盘时,但读取速度稍快。
4.)RAID4:带奇偶校验码的独立磁盘结构
它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。这个模式把数据分片存储,但需要一个硬盘保存校验信息,因此会花时间等待写校验硬盘。
5.)RAID5:分布式奇偶校验的独立磁盘结构
RAID5通过把数据和校验信息多分片存储,这个模式即创建了一个冗余结构,又同时降低了读写时间。RAID5需要至少3块硬盘。
创建一个RAID5的磁盘阵列:(可以是分区,但实际中最好使硬盘;以下操作用分区创建磁盘阵列)
1.)在硬盘上创建4个分区,其文件系统类型是fd(Linux RAID auto),而且这4个分区不能格式化,这4个分名分别为/dev/sda5 /dev/sda6 /dev/sda7 /dev/sda8;
2.)创建几个名为/dev/md0,级别为5且有一个空闲设备的磁盘阵列:`mdadm -C /dev/md0 -n 3 -x 1 -a yes -l 5 /dev/sda5 /dev/sda6 /dev/sda7 /dev/sda8`;
3.)查看此磁盘阵列是否被激活:`cat /proc/mdstat`,用`mdadm --detail /dev/md0`命令能查看RAID设备的详细信息;
Number Major Minor RaidDevice State
0 8 5 0 active sync /dev/sda5
1 8 6 1 active sync /dev/sda6
2 8 7 2 active sync /dev/sda7
3 8 8 - spare /dev/sda8
4.)使用`mdadm /dev/md0 -f /dev/sda5`命令可模拟设备坏掉设备:
mdadm: set /dev/sda5 faulty in /dev/md0
Number Major Minor RaidDevice State
3 8 8 0 active sync /dev/sda8
1 8 6 1 active sync /dev/sda6
2 8 7 2 active sync /dev/sda7
4 8 5 - faulty spare /dev/sda5
5.)使用`mdadm /dev/md0 -r /dev/sda5`命令可移除以坏掉的设备:
mdadm: hot removed /dev/sda5
Number Major Minor RaidDevice State
0 8 8 0 active sync /dev/sda8
1 8 6 1 active sync /dev/sda6
2 8 7 2 active sync /dev/sda7
6.)使用`mdadm /dev/md0 -a /dev/sda5`命令可重新加入一个空闲设备:
mdadm: added /dev/sda5
Number Major Minor RaidDevice State
0 8 8 0 active sync /dev/sda8
1 8 6 1 active sync /dev/sda6
2 8 7 2 active sync /dev/sda7
3 8 5 - spare /dev/sda5
7.)若想使用该磁盘阵列应先格式化`mkfs.ext3 -L 5 /dev/md0`,创建一个目录`mkdir -v /shared`并在/etc/fstab配置文件中加入一条语句`/dev/md0 /shared ext3 defaults 0 0`;
8.)如果要停用此磁盘阵列可输入命令:`mdadm -S /dev/md0`。
网络信息补充
`dhclient eth0`强行获得一个IP地址
`dhclient -d eth0`DHCP默认工作在前台,而且需要很长时间才退出,若让它工作在后台,需要加"-d"选项`echo "hostname" > /proc/sys/kernel/hostname`暂时性的修改主机的主机名`route add -net|-host DEST netmask MASK gw GW`为Linux配置暂时性的route信息
`vim /etc/sysconfig/network-scripts/route-ethX`为Linux配置永久的route信息(文件内容按DEST via GATEWAY的格式)
NSS:名称服务转换
getent passwd|shadow|hosts|group 打印出对应解析机制的所有条目的数据库内容
用户身份验证:
1.)NSS 名称服务转换认证
2.)Kerberos 令牌是认证加密传输数据
3.)LDAP 轻量级目录访问协议认证
4.)SmartCard 智能卡认证
5.)SMB Smaba服务器认证
6.)Winbind SMB与LDAP的结合
NIS的认证过程客户端的配置
1.)定义nis域:可使用命令`nisdomainname 域名`来暂时性的定义nis的域;可修改配置文件`vim /etc/sysconfig/network`加入`NISDOMAIN=域名`来永久性的修改nis的域;加入域后用`nisdomainname`命令查看nis域是否加上。
2.)查看PRC远程过程调用的进程portmap是否工作正常`service portmap`;同时也可用`rpcinfo -p 192.168.0.254(IP)`来查看工作情况。
3.)修改nis的配置文件`vim /etc/yp.conf`,在其中添加语句`domain testnis(域名) server 192.168.0.254`;用`yptest -d testnis(域名)`命令来对nis配置文件进行测试,使用`service ypbind start`命令打开nis的客户端服务的进程或者用`chkconfig ypbind on`永久的打开nis的客户端服务进程。
4.)定义名称解析方式:修改配置文件`vim /etc/nsswitch.conf`,在passwd|shadow|group的files后面加上nis,在hosts的files和dns之间加上nis;然后可用`ypcat guest(服务器上的用户账号)`来检测是否能通过nis进行访问。
5.)自动挂载服务器硬盘到本地:可配置Automounter的配置文件,命令为`vim /etc/auto.master`,在配置文件中添加一句语句`/home/guests /etc/auto.ftp`;然后创建创建auto.ftp文件`vim /etc/auto.ftp`,在文件内输入`* -rw,intr,hard 192.168.0.254:/home/guests/& `;最后,重启Automounter服务`service autofs restart`。
另外,可直接用`system-config-authentication`以图形化界面修改NIS设置;或用`setup`在字符界面下修改NIS设置。
ACL访问控制列表
ACL是访问控制列表(Access Control Lists)的缩写,对于Unix系统,ACL是标准Unix文件属性(r,w)的附加扩展。ACL给予用户和管理员更好控制文件读写和权限赋予的能力,商业Unix和NTFS以及Freebsd都支持文件系统的ACL,Linux从2.6内核开始支持对Ext2,Ext3和XFS,JFS等文件系统的ACL支持。
tune2fs /dev/sda1 -o acl 给/dev/sda1分区设定ACL功能
tune2fs -l /dev/sda1 | grep "options" 查看分区/dev/sda1是否有ACL的功能
getfacl file|directory 查看ACL列表
setfacl -m u:redhat:rwx file|directory 设定用户的ACL列表
setfacl -m g:mygrp:rwx file|directory 设定用户组的ACL列表
setfacl -m d:u:redhat:rwx file|directory 设定默认的ACL列表
setfacl -x u:redhat:rwx file|directory 删除ACL列表
创建一个磁盘配额:(以/home分区为例,redhat和wendy用户为例)
1.)启用磁盘配额功能,而且写入/etc/fstab文件中加入usrquota和grpquota,`/dev/vol0/home /home /ext3 defaults 1 2 `;
2.)重新挂载文件系统,使用命令`mount -o remount /home`;
3.)创建数据库文件,使用命令`quotacheck -cugm /home`;启用磁盘配额`quota /home`
4.)设定磁盘配额策略:soft代表在有限期限内超出此值还可在超出;hard代表不能超出的限额
setquota redhat 10240 15000 40 50 /home设定redhat用户的磁盘配额blocks的soft为10240,hard为15000;inodes的soft为40,hard为50。
edqutoa wendy 可进入编辑模式对blocks和inodes进行修改
5.)设定完成后可在用户模式下输`quote`显示磁盘配额,或在root用户下输`repquota /home`或`repquota -a`显示所有用户的磁盘配额。