应用场景
Raid大家都知道是冗余磁盘的意思(Redundant Arrays of Independent Disks,RAID),可以按业务系统的需要提供高可用性和冗余性,目前市面上比较常见的是通过服务器的raid阵列卡来实现此功能。
通过硬件阵列卡实现raid具有可靠性高,性能好等特点,但是对于一般的企业而言硬件阵列卡固然好,如果大规模应用的话动辄几千上万的费用也不是他们所能承受的,难道就没有既能保证数据安全,又能减少费用支持的IT方案吗?当然有,软raid就可以实现这一需求。
实现步骤
软raid比较依赖 *** 作系统,所以他的劣势也显而易见,需要占用系统资源(主要是CPU资源)。目前在Linux和windows下软raid都比较常见了,Linux是通过mdadm实现的,windows下则在win2003之后通过磁盘管理来实现。
实验环境
一台centos 7.2 VM,主机名分别为host1,host1上挂载两块50G的数据盘,我们的实验就在这两块数据盘上完成。
P.S:需要强调的是生产环境下两块组raid的硬盘必须是同品牌同型号同容量的,否则极容易出现软raid失效的情况。
1.确认 *** 作系统是否安装了mdadm软件
[root@host1 ~]# rpm -qa |grep mdadm
mdadm-3.3.2-7.el7.x86_64
2.对两块数据盘进行分区,并设置分区类型为raid
fdisk命令只能对容量在2T以下的硬盘进行分区,如果超过2T则需要使用parted工具了。Parted命令以后会介绍使用方法,本节不赘述了。
在fdisk下raid的分区类型代码是fd,在parted工具下首先需要使用mklabel将磁盘格式由MBR改成GPT,然后才能使用mkpart命令进行分区,分完区之后使用set设置分区flag为raid即可。
3.使用mdadm命令创建raid1
可以看到创建时有个Note的提示,是说软raid不能当启动设备,这就是软raid比较鸡肋的地方了。
mdadm -C /dev/md0 -ayes -l1 -n2 /dev/xvd[b,c]1
命令说明:
-C创建阵列
-a同意创建设备,如不加此参数时必须先使用mknod 命令来创建一个RAID设备,不过推荐使用-a yes参数一次性创建
-l阵列模式
-n阵列中活动磁盘的数目,该数目加上备用磁盘的数目应该等于阵列中总的磁盘数目
/dev/md0阵列的设备名称,如果还有其他阵列组可以以此类推;
创建完成后可以使用cat /proc/mdstat查看阵列状态:
下图中第一次查看的时候提示resync完成了95.7%,第二次查询的时候两块盘才真正同步完。
也可以使用mdadm -D /dev/md0查看阵列组的状态
4.创建md0的配置文件
echo DEVICE /dev/sd{a,b}1 >> /etc/mdadm.conf
mdadm -Evs >> /etc/mdadm.conf
mdadm运行时会自动检查/etc/mdadm.conf 文件并尝试自动装配,因此第一次配置raid后可以将信息导入到/etc/mdadm.conf 中。
5.使用/dev/md0
在/dev/md0上创建文件,然后挂载进行使用。
mkfs.ext4 /dev/md0
1. 安装parted软件
yum install parted -y
2. 磁盘分区
# parted
GNU Parted 2.1
使用 /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) select /dev/xvde # 选择要分区的磁盘
使用 /dev/xvde
(parted) mklabel gpt # 使用gpt
(parted) mkpart primary 0% 50% # 磁盘格式化为两个分区
(parted) mkpart primary 50% 100% # 磁盘格式化为两个分区
(parted) print # 查看分区信息
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvde: 4295GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name 标志
1 1049kB 2147GB 2147GB primary
2 2147GB 4295GB 2147GB primary
(parted) quit # 退出
信息: You may need to update /etc/fstab.
3. 格式化系统
# mkfs.ext4 -T largefile /dev/xvde1
# mkfs.ext4 -T largefile /dev/xvde2
实例:
# mkfs.ext4 -T largefile /dev/xvde1
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
*** 作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
2048000 inodes, 524287744 blocks
26214387 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
16000 block groups
32768 blocks per group, 32768 fragments per group
128 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
3.建立挂载点
# mkdir /eduvideo/mount1 -p
# mkdir /eduvideo/mount2 -p
4.编辑/etc/fstab文件
/dev/xvde1 /eduvideo/mount1 ext4 defaults 0 1
/dev/xvde2 /eduvideo/mount2 ext4 defaults 0 1
5.挂载磁盘
# mount -a
6.查看是否成功
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda2 91G 1.8G 84G 3% /
tmpfs 16G 0 16G 0% /dev/shm
/dev/xvda1 477M 70M 383M 16% /boot
/dev/xvde1 2.0T 71M 1.9T 1% /eduvideo/mount1
/dev/xvde2 2.0T 71M 1.9T 1% /eduvideo/mount2
主要看你的服务器用途,比如WEB,DATABASE,MAIL,FTP,VPN,GATEWAY,对于企业级服务器,最好把分区做细一些./根
SWAP交换
/BOOT启动及相关
/HOME用户目录
/VRA应用服务及相关
/TEP临时文件
以下是摘录的相关知识,希望对你有帮助:/boot分区,它包含了 *** 作系统的内核和在启动系统过程中所要用到的文件,建这个分区是有必要的,因为目前大多数的PC机要受到BIOS的限制, 况且如果有了一个单独的/boot启动分区,即使主要的根分区出现了问题,计算机依然能够启动。这个分区的大小约在60MB—120MB之间。
/usr分区,是 Linux系统存放软件的地方,如有可能应将最大空间分给它。
/home分区,是用户的home目录所在地,这个分区的大小取决于有多少用户。如果是多用户共同使用一台电脑的话,这个分区是完全有必要的,况且根用户也可以很好地控制普通用户使用计算机,如对用户或者用户组实行硬盘限量使用,限制普通用户访问哪些文件等。
/var/log分区,是系统日志记录分区,如果设立了这一单独的分区,这样即使系统的日志文件出现了问题,它们也不会影响到 *** 作系统的主分区。
/tmp分区,用来存放临时文件。这对于多用户系统或者网络服务器来说是有必要的。这样即使程序运行时生成大量的临时文件,或者用户对系统 进行了错误的 *** 作,文件系统的其它部分仍然是安全的。因为文件系统的这一部分仍然还承受着读写 *** 作,所以它通常会比其它的部分更快地发生问题。
/bin分区,存放标准系统实用程序。
上面介绍了几个常用的分区,但记住至少要有两个分区,一个SWAP分区,一个/分区。
基本上 /boot / /var 是一定要独立分区出来的 其他的看你还有没有别的规划
另外要预测一下你的服务器应用方向和存储增长点 ,比如是数据库还是htdocs目录
一般的 对于一个单硬盘的linux+apache+mysql来讲
/boot 100M
/ 6-8G
swap = 2G以上的时候建议是你内存容量1-1.5倍 swap死都增长不到10G那样的
然后其他全部划分给/var 以便动态规划空间
另外 /var/log /var/db /var/www 是三个主要的空间增长点 一个是日志 ,一个是数据库 最后就是网站文件 ,如果把握不好度 ,就干脆把/var划为一个分区,如果有清晰地规划,最好把 /var/log /var/db /var/www给独立开,具体的容量取决于规划 通常的 /var/log 占剩余空间的5% , /var/db 占55% ,/var/www占 40%
文件系统方面, 小文件数量占多的最好采取reiserfs 比如www,数据库上则XFS比较好,对巨型文件的读取和存储比较稳定安全 至于基本系统 稳定就行
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)