精华内容
下载资源
问答
  • Linux使用过程中,发现一个文件很大,比如5G,但是有两块物理磁盘一个剩下4G,一个剩3G,磁盘空间不够,这样肯定不能放进去。如果把5G文件分割了是可以放进去,但是如果有很多文件呢!这时候就可以用LVM来帮我们...

    注意:任何磁盘的操作有可能损坏里面数据,请提前备份数据,切记!切记!切记!


    0x00:前言.

      在Linux使用过程中,发现一个文件很大,比如5G,但是有两块物理磁盘一个剩下4G,一个剩3G,磁盘空间不够,这样肯定不能放进去。如果把5G文件分割了是可以放进去,但是如果有很多文件呢!这时候就可以用LVM来帮我们来管理文件是放到哪个磁盘里。

      注意:LVM用于单块硬盘小于2TB的分区,如果超过2TB用part分区,不建议用LVM会识别不了。


    0x01:文本对照。

      物理磁盘:即你购买来能拿在手里的那一块磁盘。

      PV:物理卷(physical volume)。物理磁盘创建成普通磁盘83后,将类型修改成8e时,其成为LVM磁盘系统,也就是我们说的PV。

      VG:逻辑卷组(Volume Group)。是将一个个的PV放到一个组里统一管理。

      LV:逻辑卷(logical volume)。也就是从VG中划分的逻辑分区,在这上我们可以当成普通磁盘去使用,新建一个文件或文件夹。


    0x02:版本说明.

      1)VMware Workstation 12 Pro 12.5.7 build-5813279

      2)CentOS release 6.9 (Final)


    0x03:实验环境搭建。

      1)安装VM虚拟机以及CentOS系统安装网上很多,略。

      2)在VM里创建模拟物理磁盘,虚拟机里会自动识别。

        80e995808d00d2045199e70aef8e7093.jpg-wh_

        dfce7b4fe004cc3a1fd17ec7266039a3.jpg-wh_

        257c40eec2197bbca2f162dc31af5603.jpg-wh_

        因为做实验节省时间,所以我们将3个磁盘只分了100M、200M、300M,

        从容量上我们也可以直观看到在操作的磁盘。

        0c6edb23609485286b331dba8c94d4eb.jpg-wh_

        注意文件名不要重复

        69ec7ee0264f695b8396bc93e78f3895.jpg-wh_

        另外2个创建是一样的,重复上面步骤即可。

        7a8713ce553f42e636899eb29be5bb5f.jpg-wh_

        在系统中用命令查看,多出几块未分配的磁盘。

         # fdisk -l

        018c09c90831e367af3a4843acc6a8b6.jpg-wh_

        728404152bdbb3d5a071cc56431ccccf.jpg-wh_


       3)首先,把磁盘格式化成普通磁盘。

        #fdisk /dev/sda

        91d04b4896be6ddfc71d52cf0e44b6b3.jpg-wh_

        8f9e661129ad132d80e6dac166942165.jpg-wh_


    0x04:安装LVM,及创建。

        将一块普通磁盘类型修改成8e时,其已经成为LVM磁盘系统里,也就是我们说的PV。

        磁盘创建好了,但是LVM并不是系统自带的,尤其是2.6.9以下,需要我们自己安装。

        查看系统是否安装。

        rpm -qa | gre lvm

        并查看内核版本。

        uname -a

        系统显示没有安装,我们用命令安装。

        yum -y install lvm2

       42dd1bb6e40e5fe93ec990ae7052542e.jpg-wh_


       1)创建PV。

       LVM提示已经安装完成,用pvscan命令提示没有发现PV(physical volumes)

       77c5798889d34fd3efe0d501388794d8.jpg-wh_

       创建PV,并重新扫描,发现了一个新的PV。

       # pvcreate /dev/sdb1
       # pvscan

       4be4ff7b101c2ee5b239e2079ab875c8.jpg-wh_

       显示PV信息,因为只创建一个PV,所以只有一个。

       # pvdisplay

       bd3ecd33c44806dce454e620ff7e2ef5.jpg-wh_

       好了,现在将一块普通磁盘改变成LVM里最基本物理磁盘。下面我们来创建VG(磁盘管理组)。


       2)创建VG(卷组),来管理PV。

       # vgscan  //因为之前没有创建过VG,所以扫描没有显示。
       # vgcreate vgdata /dev/sdb1   //创建vgdata并将/dev/sdb1加入
       #  vgcreate vgdata /dev/sdb1  -s 8M //-s是指定PE大小,默认是4M
       # vgdisplay  //显示VG信息

       0a879a76181530787c9570b0a897af17.jpg-wh_

       再次扫描,发现上面创建的“vgdata”卷组VG了。

       438cec71f6b3ff59ad8904a1c372701e.jpg-wh_

       

       3)有了卷组我们就可以创建LV,LV是我们真正用来写数据的,比如新建一个文本等。

       # lvscan //扫描LV,之前没有建立过LV,什么也没显示
       # lvcreate -L 100M -n lvData vgdata //创建LV,-L 指定LV大小为100M,-n LV名字方便区分,
       vgdata 加入到vgdata组,上面创建的。
       # lvdisplay

       a553f67742486881717eec1f5098dfec.jpg-wh_

       4)格式化LV及挂载

       # mkfs.ext4 /dev/vgdata/lvData  //格式化lvData为ext4格式。
       #  mkdir /LVM  //创建挂载点
       #  mount /dev/vgdata/lvData  /LVM  //挂载到LVM下
       #  df -h  显示挂载成功100M空间系统占用1.6M还要卷组占用一些,实际占用2%。

       9f669b42b605bec08fc7e50499fc2a5d.jpg-wh_

       好了,到此一个完整的LVM就创建完了。

       

    0x05:开机自动挂载。

       挂载点的磁盘,在重启后就会丢失,需要将配置写入/etc/fstab,让系统自动挂载。

        # echo "/dev/vgdata/lvData  /LVM    ext4    defaults 0 0" >> /etc/fstab

       e5cd0b0aaf8f2947dd168411a7374014.jpg-wh_

       

       

    参考文章:

    https://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html

    http://dreamfire.blog.51cto.com/418026/1084729/

    https://jingyan.baidu.com/article/76a7e409bd923dfc3b6e153d.html

    https://jingyan.baidu.com/article/5553fa82e9d9c365a239343d.html

    https://jingyan.baidu.com/article/59a015e3a65909f79488653d.html

    https://jingyan.baidu.com/article/49711c6148ed72fa441b7c3d.html

    https://jingyan.baidu.com/article/0eb457e5057ad603f1a9053e.html

    https://jingyan.baidu.com/article/48b558e35708ce7f38c09a3e.html

    https://www.centos.bz/2012/02/installation-and-usage-of-lvm/


        

    转载于:https://blog.51cto.com/wutou/1980826

    展开全文
  • VG卷组的总空间是受物理磁盘大小限制,本教程有3物理磁盘分别是100M、200M、300M,那么VG卷组总空间就是600M;而VG下所有的LV累加的总空间又受限于VG。 使用过程中LV早晚会用完,那么上面的/LVM挂载点只能同时...

    注意:任何磁盘的操作有可能损坏里面数据,请提前备份数据,切记!切记!切记!


    0x00:前言。

      VG卷组的总空间是受物理磁盘大小限制,本教程有3块物理磁盘分别是100M、200M、300M,那么VG卷组总空间就是600M;而VG下所有的LV累加的总空间又受限于VG。

      使用过程中LV早晚会用完,那么上面的/LVM挂载点只能同时挂载一个,而有些程序不能支持有两个文件目录,比如WEB只有一个/,还有MySQL。


    0x01:扩展VG卷组、缩小VG卷组。

      1)扩展VG卷组。

       上一章讲我看到添加了3块物理磁盘,第一块(/dev/sdb1)已经加入VG组,这次来把第二块(/dev/sdc1)加入到之前的那个vgdata的VG组里。


      首先还是格式化磁盘,并创建磁盘分区/dev/sdc1。这里图略,和之前一样。

      # fdisk /dev/sdc  //显示创建磁盘并和格式化,略去一些命令

      略。

      # pvcreate /dev/sdc1   //普通磁盘转换成PV
      # pvs  //查看VG组信息
      # vgextend vgdata /dev/sdc1   //加入VG组,vgdata要加入VG组名,/dev/sdc1新PV

      图里可以看到磁盘第一次pvs里只有一个PV,添加后,第二次pvs就又有多出一块PV。

      3b62ddb109d68dd5a4e25525941958e1.jpg-wh_

      # vgdisplay  //查看VG卷组详细信息,VG的总空间已经由之前100M变成300M

      ed8178d8ae4f853b6e4cfc2c35269e8f.jpg-wh_

      2).缩小卷组。

      实际使用中,因为磁盘损坏,或空间分配问题,我们需要从VG卷组删除一个PV物理卷。用过的PV物理卷肯定会被写入数据,那么在移走PV前,我们要先迁移数据。

      先用pvdisplay命令看看上面PE块被写了多少数据,假如/dev/sdb1是要移走的物理硬盘。

      注意,目的地空闲空间要大于/dev/sdb1。

      我们准备了/dev/sdd1来存放迁移过来的数据。

      ba4e0d7ce5339c208cee8044e6f3494d.jpg-wh_

      从上图可以看出sdb1总空间是100M,然后空闲是0M,也就是使用了100M。

     

      # pvmove -i 1 /dev/sdb1 /dev/sdd1  //将sdb1数据移动到sdd1里,
                                                  -i 1是每1秒钟报告一次数据迁移的进度。
      # vgreduce vgdata /dev/sdb1  //将/dev/sdb1从vgdata卷组中移除
      #  pvremove /dev/sdb1  //将/dev/sdb1移除出PV

      8d84605abd9f6fdb7daf173a85a50233.jpg

      结果:数据没有任何丢失。

      d9f8075055262fc13fdc4fb85de0b780.jpg


    0x02:扩展LV、缩小LV逻辑卷。

      1)VG卷组又有新的空间,而刚才创建的lvData(/dev/sdb1)已经使用完了,我们来扩展LV。

      # lvextend –L +50M /dev/vgdata/lvData
      或者
      # lvextend –l 150M /dev/vgdata/lvData

      -L和-l区别,-L后是写你要增加多少,而-l是写你要增加到的总数。

      执行命令后我们发现LV size变成150M了。

      b637d4c5c21dc7de38c569db40a4417c.jpg-wh_

      

       LV扩容完系统还没有识别,需要用resize2fs来更新,系统才能识别到。

      # resize2fs /dev/vgdata/lvData

      ffb4a8e67996aa51d7bcf5b97fd91bd2.jpg

     

      2)缩小LV(逻辑卷)空间。

      使用过程中LV空间总会分配不合理或大或小,如果分配大了,不用又造成空间浪费,现在将LV(逻辑卷)缩小以分配给其他LV(逻辑卷)用。

     

      我们之前创建了一个LV(逻辑卷),挂载到了/LVM下。

      1d01229eeae72774366893849b30231f.jpg-wh_


      调整钱我们先要卸载挂载点,因为挂载后是使用状态,不允许操作。如图,卸载成功。

      # umount /LVM

      ce3e2178c86ce07f6536578526e854a9.jpg


       检查文件系统是否有坏块,这部检查必须要做。

      # e2fsck -f /dev/mapper/vgdata-lvData

      e4ba18c2f706fd3394bf461035e80b01.jpg

      

      从上面df -h 知道,总空间287M,使用128M,剩余146M空间。我们缩小总空间到250M,做演示。

      注意:缩小LV前,先要缩小PV,resize2fs在前,lvreduce在后,顺序不能错。

      

      # resize2fs /dev/mapper/vgdata-lvData 250M  //缩小PV

      eac4a09909edc9dc07a4b4532bcbb8a3.jpg

      # lvreduce -L 250M /dev/mapper/vgdata-lvData
      或
      # lvreduce -L -50M /dev/mapper/vgdata-lvData  //-50M,在原基础上减去50M空间。

      0ff9f7080a79d5e1f7493cc5a6abbc10.jpg


       好了,缩减成功,挂载看看。

       # mount -a

       或

       # mount /dev/vgdata/lvData  /lvm

       因为PE默认4M,我们给的250M的PE不一定对其,所以系统会从新计算PE倍数来对其,显示的数就会小于我们写的数。

      b4a28b201ce575ec0023d8ffd666d79e.jpg

     注意:/dev/mapper/vgdata-lvData和/dev/vgdata/lvData是一样的,指向同一路径。

     

      查看PV有多少空闲空间。显示多出48M的空闲空间。

      # pvs

      41928d2cf3ea21db94bf912e9297a88f.jpg

      

    0x03:LV测试篇。

       写此文章的时候,我就在想如果物理磁盘空间不够,但是LV分配很大,会发生什么现象。

       看下图,我在虚拟机里创建了一个5G的虚拟磁盘文件放到D盘。我的电脑D盘,用一些其他东西故意填满,只留下了很少的空闲空间。

       下面还有个3G的磁盘,我放到了C盘,C盘空闲空间充足。

    62b93b17e513089d3b5469ff4ca0283d.jpg

      

      接着将上面创建两个盘在系统里转换成PV物理卷->加入VG卷组->加入LV卷。

      875911af2f602635bcb98bf16b237830.jpg

      

      LVM的存放数据的规律是由那个PV先被添加就先存放到哪个PV上,直到PV存满才到下一个PV上存。

      sde1就是我们放到上图显示D盘的那个文件,一会写文件先往sde1里写,然后在往sdf1里写。

      我们找来一个ISO镜像(大于4G的文件),来往里面拷贝数据,看看发生什么?

    f8872358734781425f1ee7bfcd11f87e.jpg

      上传数据的过程中,D盘空间用完了,LVM而并没有尝试切换到sdf1的3G这空间去复制,而是直接报了系统错误,而且系统因为没有空间,直接退出了,重新启动都没成功,只好将D盘里删除一些文件,才将系统重新启动。

      bb8087e8d3b72418c6fcbf4f3488868c.jpg

      

      总结,PV的设置最大值不能超过物理磁盘的空间,否则会出现丢失数据的问题。

      

    0x04:LVM快照(转:http://www.linuxidc.com/Linux/2017-05/143774.htm)。

       LVM快照是一种以空间换时间时间的方式制作的lvm卷副本。它只在lvm中工作,并只在源逻辑卷发生改变时占用快照卷的空间。如果源卷的变化达到1GB这么大,快照卷同样也会产生这样大的改变。因而,对于空间有效利用的最佳途径,就是总是进行小的修改。如果快照将存储空间消耗殆尽,我们可以使用lvextend来扩容。而如果我们需要缩减快照所占用卷的大小,可以使用lvreduce。实验如下:目标逻辑卷信息如下:

    $ pvs

      PV         VG   Fmt  Attr PSize PFree

      /dev/sdb   vg0  lvm2 a--  7.00g    0 

      /dev/sdd1  vg0  lvm2 a--  7.00g 1.99g

    $ vgs

      VG   #PV #LV #SN Attr   VSize  VFree

      vg0    2   1   0 wz--n- 13.99g 1.99g

    $ lvs

      LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

      lv0  vg0  -wi-ao---- 12.00g

           现在对逻辑卷lv0创建快照,命名为snaplv0

    $ lvcreate -s -n snaplv0 -p r -L 1G /dev/vg0/lv0

      Logical volume "snaplv0" created.

    $ vgs

      VG   #PV #LV #SN Attr   VSize  VFree   

      vg0    2   2   1 wz--n- 13.99g 1016.00m

    $ lvs

      LV   VG   Attr   LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

      lv0     vg0  owi-aos--- 12.00g 

      snaplv0 vg0  sri-a-s---  1.00g      lv0    0.00

      这里/dev/vg0/lv0的挂载点为/mnt。往/mnt里面写入300MB的随机文件,再观察快照情况,可以看    到,快照对应的Data一项有所增长:

    $ dd if=/dev/urandom of=/mnt/2.txt bs=1M count=300

      300+0 records in

      300+0 records out

      314572800 bytes (315 MB) copied, 27.5877 s, 11.4 MB/s

    $ ls

      1.txt  2.txt  data

    $ lvs

      LV   VG   Attr   LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

      lv0  vg0  owi-aos--- 12.00g

      snaplv0 vg0  sri-a-s---  1.00g      lv0    29.42

      用snaplv0对逻辑卷进行恢复,注意恢复之前需要先将对应的逻辑卷卸载。恢复之后可以看到,原有的snaplv0消失,因此可以得出结论,LVM的快照是一次性的:

    $ umount /mnt
    $ lvconvert --merge /dev/vg0/snaplv0

      Merging of volume snaplv0 started.

      lv0: Merged: 71.0%

      lv0: Merged: 91.9%

      lv0: Merged: 100.0%

    $ ls /dev/vg0

      lv0

    $ mount /dev/vg0/lv0 /mnt
    $ ls /mnt

      1.txt  data

      如果想要删除LVM快照,用lvremove命令,后面跟上快照设备文件的绝对路径即可,例如:

    $ lvremove /dev/vg0/snaplv0

       

    0x05:删除LVM。

      删除LVM,先取消开机自动挂载,在取消挂载、取消LV、取消VG、取消PV,还原磁盘83类型。

      # umount /lvm                            //取消挂载
      # lvremove /dev/vgdata/lvData                //删除LV
      # vgremove vgdata                            //删除vgdata组
      # pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1   //磁盘还原成普通磁盘
      #  fdisk /dev/sdb1  //执行t ID输入83,让磁盘恢复普通磁盘。





    参考文章:

    http://dreamfire.blog.51cto.com/418026/1084729/

    http://www.linuxidc.com/Linux/2016-06/132709.htm

    https://www.cnblogs.com/mchina/p/linux-centos-logical-volume-manager-lvm.html

    http://www.linuxidc.com/Linux/2017-05/143774.htm



    转载于:https://blog.51cto.com/wutou/1980891

    展开全文
  • 注意:任何磁盘的操作有可能损坏里面数据,请提前备份数据,切记!切记!切记! 0x00:LVM常用命令对照。 针对LVM底层PV的一些基本操作 对于底层的PV而言,操作的命令如下表所示: 命令 解释 pvchange 控制...

    注意:任何磁盘的操作有可能损坏里面数据,请提前备份数据,切记!切记!切记!


    0x00:LVM常用命令对照。

    针对LVM底层PV的一些基本操作 

    对于底层的PV而言,操作的命令如下表所示:

    命令 解释
    pvchange 控制指定PV是否可以分派新空间的权限
    pvck 检查PV的LVM元数据的一致性
    pvcreate 将指定磁盘或分区转化为PV
    pvdisplay 详细地查看系统当前的PV情况
    pvmove 在同一VG卷组里面移动一个PV的数据到另一个PV里面
    pvremove 删除PV标签,即移除PV
    pvs 简略地查看系统当前的PV情况
    pvresize 当PV对应的设备分区(如md软raid)扩容之后,利用该命令可以扩容PV
    pvscan 扫描所有打着PV标签的设备文件


    针对LVM中层VG的一些基本操作 
    对于中层的VG而言,操作的命令如下表所示

    命令 命令解释
    vgcfgbackup 备份VG描述文件(默认/etc/lvm/backup,亦可自由指定)
    vgcfgrestore 从备份的VG描述文件对VG元数据进行恢复
    vgck 检查VG
    vgchange 修改特定VG的属性,包括是否激活,uuid号,……
    vgconvert 修改VG元数据格式,例如从LVM1改为LVM2
    vgcreate 创建VG卷组
    vgs 简略地查看系统VG卷组情况
    vgdisplay 详细地查看系统VG卷组的使用情况
    vgexport 将特定VG变为未知状态,用于迁移卷组到别的系统上面
    vgimport 将未知状态的特定VG卷组变为正常状态,用于迁移卷组到别的系统上面
    vgextend 将PV添加到特定VG中
    vgimportclone 用于导入重复的卷组(例如某卷组的快照),并修改其UUID
    vgmerge 在满足特定条件下,对多个卷组进行归并
    vgmknodes 重新创建卷组设备目录以及逻辑卷特殊文件
    vgreduce 将未使用的PV从特定VG中移除
    vgremove 移除特定VG
    vgrename 重命名指定VG的名称
    vgsplit 将指定的PV从一个VG里面挪动到另一个VG里面
    vgscan 扫描系统的VG


    针对LVM上层LV的一些基本操作 
    对于上层的LV而言,操作命令如下表所示:

    命令 命令解释
    lvchange 修改指定LV的一些属性,包括是否是激活状态、是否只读……
    lvconvert 转换指定LV的属性,从线性转化为镜像或者快照
    lvcreate 创建LV
    lvs 简略地查看系统内的LV情况
    lvdisplay 详细地查看系统内的LV情况
    lvextend 扩展指定LV的容量大小
    lvm 管理LVM的一个shell工具
    lvmconf LVM配置修改器
    lvmconfig 查看LVM配置的工具
    lvmdiskscan 扫描所有LVM2可见的设备
    lvmdump 创建LVM的dump文件,用于诊断
    lvmetad 缓存LVM元数据的守护程序
    lvmpolld LVM操作命令的轮询守护程序
    lvreduce 缩容指定的LV
    lvremove 删除指定的LV
    lvrename 重命名指定的LV
    lvresize 调整指定LV的大小,即可以扩容也可以缩容
    lvscan 扫描系统的LV



    参考文章:

    http://www.linuxidc.com/Linux/2017-05/143774.htm


    本文转自 piazini 51CTO博客,原文链接:http://blog.51cto.com/wutou/1980918


    展开全文
  • RAID镜像意味着相同数据的完整克隆(或镜像),分别写入到磁盘中。创建RAID 1至少需要磁盘,而且仅用于读取性能或者可靠性要比数据存储容量更重要的场合。本文将指导你在Linux平台上使用mdadm(用于创建和...

    RAID镜像意味着相同数据的完整克隆(或镜像),分别写入到两个磁盘中。创建RAID 1至少需要两个磁盘,而且仅用于读取性能或者可靠性要比数据存储容量更重要的场合。本文将指导你在Linux平台上使用mdadm(用于创建和管理RAID)一步步的建立一个软件RAID 1(镜像)。同样的做法也适用于如RedHat,CentOS,Fedora等Linux发行版。

    AD:

    RAID 镜像意味着相同数据的完整克隆(或镜像),分别写入到两个磁盘中。创建 RAID 1 至少需要两个磁盘,而且仅用于读取性能或者可靠性要比数据存储容量更重要的场合。

    在 Linux 中设置 RAID 1

    创建镜像是为了防止因硬盘故障导致数据丢失。镜像中的每个磁盘包含数据的完整副本。当一个磁盘发生故障时,相同的数据可以从其它正常磁盘中读取。而后,可以从正在运行的计算机中直接更换发生故障的磁盘,无需任何中断。

    RAID 1 的特点

    • 镜像具有良好的性能。

    • 磁盘利用率为50%。也就是说,如果我们有两个磁盘每个500GB,总共是1TB,但在镜像中它只会显示500GB。

    • 在镜像如果一个磁盘发生故障不会有数据丢失,因为两个磁盘中的内容相同。

    • 读取性能会比写入性能更好。

    要求

    创建 RAID 1 至少要有两个磁盘,你也可以添加更多的磁盘,磁盘数需为2,4,6,8等偶数。要添加更多的磁盘,你的系统必须有 RAID 物理适配器(硬件卡)。

    这里,我们使用软件 RAID 不是硬件 RAID,如果你的系统有一个内置的物理硬件 RAID 卡,你可以从它的功能界面或使用 Ctrl + I 键来访问它。

    需要阅读:介绍 RAID 的级别和概念

    在我的服务器安装

    1. 操作系统 : CentOS 6.5 Final
    2. IP 地址 : 192.168.0.226
    3. 主机名 : rd1.tecmintlocal.com
    4. 磁盘 1 [20GB] : /dev/sdb
    5. 磁盘 2 [20GB] : /dev/sdc

    本文将指导你在 Linux 平台上使用 mdadm (用于创建和管理 RAID )一步步的建立一个软件 RAID 1 (镜像)。同样的做法也适用于如 RedHat,CentOS,Fedora 等 Linux 发行版。

    第1步:安装所需软件并且检查磁盘

    1、正如我前面所说,在 Linux 中我们需要使用 mdadm 软件来创建和管理 RAID。所以,让我们用 yum 或 apt-get 的软件包管理工具在 Linux 上安装 mdadm 软件包。

    1. # yum install mdadm [在 RedHat 系统]
    2. # apt-get install mdadm [在 Debain 系统]

    2、一旦安装好mdadm包,我们需要使用下面的命令来检查磁盘是否已经配置好。

    1. # mdadm -E /dev/sd[b-c]

    Check RAID on Disks

    检查 RAID 的磁盘

    正如你从上面图片看到的,没有检测到任何超级块,这意味着还没有创建RAID。

    第2步:为 RAID 创建分区

    3、正如我提到的,我们使用最少的两个分区 /dev/sdb 和 /dev/sdc 来创建 RAID 1。我们首先使用fdisk命令来创建这两个分区并更改其类型为 raid。

    1. # fdisk /dev/sdb

    按照下面的说明

    • 按 n 创建新的分区。
    • 然后按 P 选择主分区。
    • 接下来选择分区号为1。
    • 按两次回车键默认将整个容量分配给它。
    • 然后,按 P 来打印创建好的分区。
    • 按 L,列出所有可用的类型。
    • 按 t 修改分区类型。
    • 键入 fd 设置为 Linux 的 RAID 类型,然后按 Enter 确认。
    • 然后再次使用p查看我们所做的更改。
    • 使用w保存更改。

    Create Disk Partitions

    创建磁盘分区

    在创建“/dev/sdb”分区后,接下来按照同样的方法创建分区 /dev/sdc 。

    1. # fdisk /dev/sdc

    Create Second Partitions

    创建第二个分区

    4、一旦这两个分区创建成功后,使用相同的命令来检查 sdb 和 sdc 分区并确认 RAID 分区的类型如上图所示。

    1. # mdadm -E /dev/sd[b-c]

    Verify Partitions Changes

    验证分区变化

    Check RAID Type

    检查 RAID 类型

    注意:正如你在上图所看到的,在 sdb1 和 sdc1 中没有任何对 RAID 的定义,这就是我们没有检测到超级块的原因。

    第3步:创建 RAID 1 设备

    5、接下来使用以下命令来创建一个名为 /dev/md0 的“RAID 1”设备并验证它

    1. # mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sd[b-c]1
    2. # cat /proc/mdstat

    Create RAID Device

    创建RAID设备

    6、接下来使用如下命令来检查 RAID 设备类型和 RAID 阵列

    1. # mdadm -E /dev/sd[b-c]1
    2. # mdadm --detail /dev/md0

    Check RAID Device type

    检查 RAID 设备类型

    Check RAID Device Array

    检查 RAID 设备阵列

    从上图中,人们很容易理解,RAID 1 已经创建好了,使用了 /dev/sdb1 和 /dev/sdc1 分区,你也可以看到状态为 resyncing(重新同步中)。

    第4步:在 RAID 设备上创建文件系统

    7、给 md0 上创建 ext4 文件系统

    1. # mkfs.ext4 /dev/md0

    Create RAID Device Filesystem

    创建 RAID 设备文件系统

    8、接下来,挂载新创建的文件系统到“/mnt/raid1”,并创建一些文件,验证在挂载点的数据

    1. # mkdir /mnt/raid1
    2. # mount /dev/md0 /mnt/raid1/
    3. # touch /mnt/raid1/tecmint.txt
    4. # echo "tecmint raid setups" > /mnt/raid1/tecmint.txt

    Mount Raid Device

    挂载 RAID 设备

    9、为了在系统重新启动自动挂载 RAID 1,需要在 fstab 文件中添加条目。打开/etc/fstab文件并添加以下行:

    1. /dev/md0 /mnt/raid1 ext4 defaults 0 0

    Raid Automount Device

    自动挂载 Raid 设备

    10、运行mount -av,检查 fstab 中的条目是否有错误

    1. # mount -av

    Check Errors in fstab

    检查 fstab 中的错误

    11、接下来,使用下面的命令保存 RAID 的配置到文件“mdadm.conf”中。

    1. # mdadm --detail --scan --verbose >> /etc/mdadm.conf

    Save Raid Configuration

    保存 Raid 的配置

    上述配置文件在系统重启时会读取并加载 RAID 设备。

    第5步:在磁盘故障后检查数据

    12、我们的主要目的是,即使在任何磁盘故障或死机时必须保证数据是可用的。让我们来看看,当任何一个磁盘不可用时会发生什么。

    1. # mdadm --detail /dev/md0

    Raid Device Verify

    验证 RAID 设备

    在上面的图片中,我们可以看到在 RAID 中有2个设备是可用的,并且 Active Devices 是2。现在让我们看看,当一个磁盘拔出(移除 sdc 磁盘)或损坏后会发生什么。

    1. # ls -l /dev | grep sd
    2. # mdadm --detail /dev/md0

    Test RAID Devices

    测试 RAID 设备

    现在,在上面的图片中你可以看到,一个磁盘不见了。我从虚拟机上删除了一个磁盘。此时让我们来检查我们宝贵的数据。

    1. # cd /mnt/raid1/
    2. # cat tecmint.txt

    Verify RAID Data

    验证 RAID 数据

    你可以看到我们的数据仍然可用。由此,我们可以了解 RAID 1(镜像)的优势。在接下来的文章中,我们将看到如何设置一个 RAID 5 条带化分布式奇偶校验。希望这可以帮助你了解 RAID 1(镜像)是如何工作的。

    展开全文
  • RAID 镜像意味着相同数据的完整克隆(或镜像),分别写入到磁盘中。创建 RAID 1 至少需要磁盘,而且仅用于读取性能或者可靠性要比数据存储容量更重要的场合。 在 Linux 中设置 RAID 1 创建镜像是为了防止因...
  • 分区表MBR与GPT的说明: MBR:主引导记录,是传统的分区机制,应用于绝大...GPT:全局唯一标识分区表,是一个较新的分区机制,解决了MBR很多缺点,支持超过2T的磁盘(64位寻址空间),fdisk最大只能建立2TB大小的...
  • 计算机中存放信息的主要的存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成的一的硬盘区域就是磁盘分区。在传统的磁盘管理中,将一个硬盘分为大类分区:主分区和扩展分区。主分区是能够...
  • Linux之RAID磁盘阵列

    2020-02-24 23:55:40
    RAID(廉价磁盘冗余阵列)具有容错和提升读写速率的作用。 其类型主要有以下三种: RAID0 条带集 需要2块磁盘以上 ...例:当两块磁盘总容量为2T时,由于两个磁盘相互备份,只能存储1T的数据。 RAID...
  • RAID 镜像意味着相同数据的完整克隆(或镜像),分别写入到磁盘中。创建 RAID 1 至少需要磁盘,而且仅用于读取性能或者可靠性要比数据存储容量更重要的场合。在 Linux 中设置 RAID 1创建镜像是为了防止因硬盘...
  • 按我的理解,系统盘和数据盘同为阿里云的块存储设备,无本质上的差别,唯一的区别在于,系统盘是随着 ECS 实例创建时,自动挂载到实例中,作为 Linux 中必不可少第一块磁盘,而数据盘则用于磁盘空间扩容,会自动装载...
  • 场景案例1(1块新磁盘配置一个分区) linux服务器已挂载一块新的数据盘,需要将该盘设为主分区,...回显类似如下信息,表示当前的云服务器有两块磁盘 /dev/vda是系统盘 /dev/sda 新增数据盘 [root@ecs-b656 test]# fdi...
  • Linux LVM与磁盘配额详解

    千次阅读 2021-01-28 22:27:45
    关闭主机,添加两块新硬盘,重启主机2.先使用 fdisk 工具将磁盘设备/dev/sdb、/dev/sdc划分出主分区sdb1、sdc1,并且把分区类型的 ID 标记号改为“8e”3.创建物理卷、创建卷组、创建逻辑卷4.对逻辑卷进行格式化,...
  • linux添加新磁盘并挂载

    千次阅读 2019-03-07 12:44:45
    上图即是我执行完命令后的截图,可以看到我的我有两块盘,一块是/dev/sda,大小为40G,另一块是/dev/sdb,大小为100G,/dev/sdb为新添加的磁盘,接下来将/dev/sdb进行分区 ##操作/dev/sdb分区 fdisk /dev/sdb 执行完后...
  • Linux centos6.5 磁盘矩阵

    2016-08-26 20:29:29
    raid0:加入有两块磁盘a和b各100M,现在写入一个50M的文件,则每个磁盘写入25M。读写的效率比较高。raid1:加入有两块磁盘a和b各100M,现在写入一个50M的文件,则每隔磁盘都写入50M这个文件,有备份作用,但是磁盘...
  • 需要两块硬盘。 RAID1:镜像卷,通过磁盘数据镜像实现数据冗余,成本最高,磁盘失效时,系统可以自动切换到镜像磁盘上读写 RAID5:是0和1的折中方案,至少需要三块硬盘。其中任意N-1块硬盘上都储存完整的数据,所以...
  • 最近在使用服务器数据库的时候,表数据总是写入失败,想到可能是磁盘空间不足的问题,使用 df -h一看,果然空间使用率100%…怎么办呢,果断加一块磁盘,由于使用的是docker创建的oracle容器,为了保留我的数据,也费...
  • Linux RAID磁盘阵列

    2020-12-14 16:48:17
    RAID磁盘阵列 基础分区: 256G 1024G MP4 – 10M a.txt – 2KB 电影 – 1.5G steam – 47G 1.硬件磁盘阵列 2.软件磁盘阵列 RAID:容错廉价磁盘阵列 ...3. 最少两块磁盘 4. 不具备容错性 raid1 : 镜像模式 1.读性能好 2.
  • 开始本能的使用fdisk -l 查看服务器上的硬盘情况,发现/dev/sdb 、/dev/sdc两块新加的4T硬盘,运维说最大是4T(开始本想装8T的)。 然后用fdisk /dev/sdb进行分区操作,发现最大只能分到2T,真是怪了。然后到网上...
  • linux磁盘分区

    2019-05-04 16:32:20
    我们知道一块磁盘可以被分成多个分区,在windows下,一块磁盘可以将它分为C:,D:,E:盘,这里C,D,E就是分区。下面对Linux分区的文件名,如何进行Linux的磁盘分区,磁盘分区有哪些限制进行总结。 1、磁盘的组成 信息...
  • 事情是这样的,11号晚上在家里同事告诉我 公司网站上不去了,...小崩溃,这台服务器有两块硬盘 做了RAID。 CTRL+L 看一下RAID状态    verify (数据在同步,在校验?)于是百度说是有两种该办法。。。1,扔那12-24小
  • 一般的,我们会给一或者多硬盘进行磁盘划分和格式化。选择磁盘的文件类型在Linux系统中常见的类型有:xfs、swap和ext4 ,这三种。之后会根据磁盘的文件类型对磁盘进行格式化。最后需要对磁盘进行挂载操作。有...
  • Linux LVM与磁盘配额

    2021-02-12 14:03:47
    ** LVM与磁盘配额 ** LVM逻辑卷管理 ...1.关闭主机,添加两块新硬盘,重启主机。 2.先使用fdisk工具 fdisk /dev/sdb fdisk /dev/sdc 3.创建物理卷 pvcreate /dev/sdb /dev/sdc 4.创建卷组,卷组名为vg
  • LINUX03_磁盘分区类

    2020-12-10 22:14:29
    常用的磁盘分区类型mbr(linux是这种分区类型) 操作系统要安装在主分区 只支持4个主分区 扩展分区占一个主分区 ③. gpt (win7 64位以后) 无限主分区 支持超大硬盘 3T以上 ②. 查看所有设备挂载情况lsblk ...
  • LINUX02_磁盘分区类

    2020-11-07 10:50:31
    常用的磁盘分区类型mbr(linux是这种分区类型) 操作系统要安装在主分区 只支持4个主分区 扩展分区占一个主分区 ③. gpt (win7 64位以后) 无限主分区 支持超大硬盘 3T以上 ②. 查看所有设备挂载情况lsblk ...
  • Linux磁盘分区挂载和磁盘阵列

    千次阅读 2019-04-09 22:19:54
    CentOs系统下磁盘分区挂载和磁盘阵列(Raid0,Raid1,Raid5)...一个硬盘做分区挂载,三个做磁盘阵列,原因是:磁盘阵列中,由于Raid0至少需要两块磁盘,而Raid1至少需要两块磁盘,Raid至少需要三块磁盘,综合考虑,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,074
精华内容 429
关键字:

linux两块磁盘

linux 订阅