Linux服务器如何做raid1,Linux下制作raid1

Linux服务器如何做raid1,Linux下制作raid1制作raid1raid1是Linux服务器最常用的一种硬盘冗余备份的方案,它能在硬盘损坏的情况下保证硬盘数据内的安全。需要至少两块硬盘,最好是完全相同的两块硬盘,所创建的若磁盘中有谁损坏,则备用盘自动替补上去。一、搭建Linuxraid1环境1.准备好要制作raid1的硬盘,至少两块,最好是两块同型号同容量的硬盘。2.用fdisk工具对硬盘进行分区(用sda做示例…

大家好,又见面了,我是你们的朋友全栈君。

制作raid1

raid1是Linux服务器最常用的一种硬盘冗余备份的方案,它能在硬盘损坏的情况下保证硬盘数据内的安全。需要至少两块硬盘,最好是完全相同的两块硬盘,所创建的若磁盘中有谁损坏,则备用盘自动替补上去。

一、搭建Linux raid1环境

1.        准备好要制作raid1的硬盘,至少两块,最好是两块同型号同容量的硬盘。

2.        用fdisk工具对硬盘进行分区(用sda做示例)

#fdisk /dev/sda

#m(你可以键入m命令获取帮助信息)

#n(添加新的分区,选择primary分区类型,再选择分区起止位置,如果你要将整张盘划分为一个分区的话,全部选择default)

#t(更改分区类型,你可以输入字母l获取类型列表,这里我们选择fd,即linuxraid

auto类型)

#w(保存并退出)

3.        安装mdadm

可以用apt-get进行安装:

#apt-getinstall mdadm

二、使用mdadm工具创建和管理磁盘阵列

1.        创建md0磁盘阵列,类型为raid1,磁盘数量为2,备用磁盘数量为1:

2.        #mdadm –create  –auto=yes /dev/md0 –level=1 –raid-devices=2  /dev/sdb1  /dev/sdc1

3.        建立文件系统, 文件系统设置成ext3:

#mkfs  -t  ext3  /dev/md0

4.        在/dev/md0下创建三个分区:

/dev/md0p1

/dev/md0p2

/dev/md0p3

5.        建立文件系统, 文件系统设置成ext3

#mkfs  -t  ext3  /dev/md0p1

#mkfs  -t  ext3  /dev/md0p2

#mkfs  -t  ext3  /dev/md0p3

6.        挂载磁盘阵列, 将磁盘阵列挂载到下:

#mount /dev/md0p1  /home

#mount  /dev/md0p2  /mnt

#mount  /dev/md0p3  /root

7.        将磁盘阵列设置为开机自动挂载:

#mdadm -D -s >>/etc/mdadm.conf (先将磁盘阵列信息保存到配置文件,否则系统启动时会将其命名为/dev/md127)

#vi /etc/fstab

编辑fstab文件,加入如下脚本:

/dev/md0p1  /home  ext3  defaults 0 0

/dev/md0p2  /mnt  ext3  defaults 0 0

/dev/md0p3  /root  ext3  defaults 0 0

8.        查看磁盘阵列的状态:

#mdadm –detail  /dev/md0

三、磁盘阵列的一些操作

1.        删除磁盘阵列:

#mdadm/dev/md0 –f ail/dev/sda1 –remove /dev/sda1

#mdadm/dev/md0 –f ail/dev/sdb1 –remove /dev/sdb1(标记sda1磁盘为坏盘,并从阵列中移除)

#mdadm–stop /dev/md0

#mdadm–zero-superblock/dev/sda1

#mdadm–zero-superblock/dev/sdb1(清除磁盘中的raid标记)

2.        更换并同步数据

#mdadm /dev/md0 –f ail/dev/sda1 –remove /dev/sda1(标记sda1磁盘为坏盘,并从阵列中移除)

#mdadm /dev/md0 –add/dev/sdc1(这里假设sdc为新硬盘,sdc1为fdisk工具处理后的新硬盘分区,完成后,数据则会自动从sda1中同步到sdc1)

#cat/proc/mdstat(查看md状态,可以是sync、resync等状态)

3.        有一块硬盘坏了, 换上另一块盘

#mdadm–create –auto=yes/dev/md0 –level=1 –force –raid-devices=1 /dev/sda1

#mount/dev/md0/mnt(挂载,不格式化)

1.        fstab文件的作用

文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过”mount  /directoryname”命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsck、 mount、umount的等命令都利用该程序。

2.        格式详解:

挂载硬盘的格式为:

fs_spec fs_file fs_type fs_options fs_dump fs_pass

fs_spec :该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:IDE设备一般描述为 /dev/hdaXN,X是IDE 设备通道(a, b, or c),N代表分区号;SCSI设备一描述为/dev/sdaXN。对于NFS情况,格式一般为:,例如: `knuth.aeb.nl:/’。对于procfs,使用`proc’来定义。

fs_file:该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。

fs_type:定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、iso9600等。

fs_options:指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用”defaults”就可以满足需要。其他常见的选项包括:

含义

ro

以只读模式加载该文件系统

sync

不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度

user

允许普通用户加载该文件系统

quota

强制在该文件系统上进行磁盘定额限制

noauto

不再使用mount -a命令(例如系统启动时)加载该文件系统

fs_dump:该选项被”dump”命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0;

fs_pass:该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统”/”对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159539.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • webstrom 2022激活码_在线激活

    (webstrom 2022激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月1日
    179
  • Spring中的注解 @RequestBody和@ResponseBody的使用和区别

    Spring中的注解 @RequestBody和@ResponseBody的使用和区别一、@RequestBody@RequestBody的作用是将前端传来的json格式的数据转为自己定义好的javabean对象如图以微信小程序为例,前端向后端传入如下json格式的数据需要注意的是传入数据的属性名称要和后端javabean中定义的一致发送请求后可以看到在控制台中我们通过javabean对象的get方法打印出了前端传来的值,说明json数据已经成功的被转换为了javab…

    2022年5月28日
    104
  • seekBar实现滑动解锁[通俗易懂]

    seekBar实现滑动解锁[通俗易懂]今天android项目里突然要做一个滑动解锁的控件,nm,ui出图就喜欢按照IOS上的控件来,这次也不例外,不过IOS上的滑动解锁效果确实还是不错。好了,废话不多说,上代码。

    2022年6月24日
    19
  • 数据库返回的整型数据被偷换成了字符串类型[通俗易懂]

    数据库返回的整型数据被偷换成了字符串类型

    2022年2月15日
    34
  • Java反射机制:跟着代码学反射

    Java反射机制:跟着代码学反射微信搜索:码农StayUp主页地址:https://gozhuyinglong.github.io源码分享:https://github.com/gozhuyinglong/blog-demos1.前言在OOP的世界里,万物皆对象。也就是说,我们可以将任何东西抽象成一个对象。比如人,可以抽象成一个Person类,通过newPerson()来实例化一个对象;再比如鸭子,可以抽象成一个Duck类,也可以对其进行实例化……那么这一个个类本身是不是也可以抽象成一个类呢?Java提供了一个特殊的类..

    2022年5月20日
    32
  • java 构造函数的作用_Java中构造函数的作用(转)

    java 构造函数的作用_Java中构造函数的作用(转)https://blog.csdn.net/vipmao/article/details/51530954,我觉得讲的非常好,学习到了构造函数的最大作用就是创建对象时完成初始化,当我们在new一个对象并传入参数的时候,会自动调用构造函数并完成参数的初始化。如下:publicclassTest{privateStringname;//有参数的构造函数publicTest(Stringn…

    2022年9月4日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号