• Linux下做软RAID


    1、查看有多少块硬盘可用
    #fdisk -l
    嗯,一般而言,留下系统盘不动,其它的盘如果大小相同的话,统统合起来做一个raid。

    2、决定做什么类型的raid。
    raid-0、raid-1、raid-5?
    如果有三块一样大小的盘(或者更多),那么极力推荐raid-5。
    否则请根据实际情况选择raid-0或者raid-1

    3、卸载已挂载的数据盘
    首先查看下,要做raid的几块盘是不是已经被挂载过了
    #mount
    如果有,那么挨个删除数据、然后用umount卸载。
    然后,还有,打开/etc/fstab,注释掉那些刚卸载的分区。免得万一操作中失误,导致机器重起,然后它又起不来……

    4、使用fdisk更改硬盘分区类型为Linux raid auto
    以/dev/sdb为例:
    #fdisk /dev/hde

    The number of cylinders for this disk is set to 8924.
    There is nothing wrong with that, but this is larger than 1024,
    and could in certain setups cause problems with:
    1) software that runs at boot time (e.g., old versions of LILO)
    2) booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS/2 FDISK)

    Command (m for help):

    嗯,如果不了解linux下的fdisk的用法,可以先输入m看看帮助。
    (注意:freebsd和windows、dos下也有fdisk,但是只是名字相同,界面和用法都相差很大。windows xp及以后版本摒弃了fdisk)
    Command (m for help): m
    Command action
    a toggle a bootable flag
    b edit bsd disklabel
    c toggle the dos compatibility flag
    d delete a partition
    l list known partition types
    m print this menu
    n add a new partition
    o create a new empty DOS partition table
    p print the partition table
    q quit without saving changes
    s create a new empty Sun disklabel
    t change a partition’s system id
    u change display/entry units
    v verify the partition table
    w write table to disk and exit
    x extra functionality (experts only)

    我们要做的是更改硬盘分区类型,所以输入t
    Command (m for help): t
    Selected partition 1
    Hex code (type L to list codes):
    因为我的这个硬盘只有一个partition,所以它就自动选择partition 1了。
    下面,就是应该输入分区类型的16进制代码了。可是,我怎么知道该输入什么呢?
    没关系,先输入大写的L,看看有哪些类型
    0 Empty 1e Hidden W95 FAT1 75 PC/IX be Solaris boot
    1 FAT12 24 NEC DOS 80 Old Minix bf Solaris
    2 XENIX root 39 Plan 9 81 Minix / old Lin c1 DRDOS/sec (FAT-
    3 XENIX usr 3c PartitionMagic 82 Linux swap c4 DRDOS/sec (FAT-
    4 FAT16 <32M 40 Venix 80286 83 Linux c6 DRDOS/sec (FAT-
    5 Extended 41 PPC PReP Boot 84 OS/2 hidden C: c7 Syrinx
    6 FAT16 42 SFS 85 Linux extended da Non-FS data
    7 HPFS/NTFS 4d QNX4.x 86 NTFS volume set db CP/M / CTOS / .
    8 AIX 4e QNX4.x 2nd part 87 NTFS volume set de Dell Utility
    9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM df BootIt
    a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e1 DOS access
    b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
    c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4 SpeedStor
    e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
    f W95 Ext’d (LBA) 54 OnTrackDM6 a5 FreeBSD ee EFI GPT
    10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
    11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
    12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
    14 Hidden FAT16 <3 61 SpeedStor a9 NetBSD f4 SpeedStor
    16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary
    17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fd Linux raid auto
    18 AST SmartSleep 65 Novell Netware b8 BSDI swap fe LANstep
    1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid ff BBT
    1c Hidden W95 FAT3
    找到了没?应该输入fd
    Hex code (type L to list codes): fd
    Changed system type of partition 1 to fd (Linux raid autodetect)

    你确信你没有输入错误吗?输入p检查一下
    Command (m for help): p

    Disk /dev/sdb: 73.4 GB, 73407820800 bytes
    255 heads, 63 sectors/track, 8924 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System
    /dev/sdb1 * 1 8924 71681998+ fd Linux raid autodetect

    好吧,没有错,那么,下一步就是把我们的更改写入硬盘
    Command (m for help): w
    The partition table has been altered!

    Calling ioctl() to re-read partition table.
    Syncing disks.

    哈哈。wonderful!

    下面……按照上面的步骤,把各个硬盘挨个干一遍吧。

    5、最核心的一步:做RAID
    我挑了4块一样大小的硬盘做RAID-5。
    #mdadm –create –verbose /dev/md0 –level=5 –raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

    mdadm: layout defaults to left-symmetric
    mdadm: chunk size defaults to 64K
    mdadm: /dev/sdb1 appears to contain an ext2fs file system
    size=71681996K mtime=Mon Jul 2 15:18:11 2007
    mdadm: /dev/sdc1 appears to contain an ext2fs file system
    size=71681996K mtime=Mon Jul 2 15:18:11 2007
    mdadm: /dev/sdd1 appears to contain an ext2fs file system
    size=71681996K mtime=Mon Jul 2 15:18:11 2007
    mdadm: /dev/sde1 appears to contain an ext2fs file system
    size=71681996K mtime=Mon Jul 2 15:18:11 2007
    mdadm: size set to 71681920K
    Continue creating array?
    它会让我确认一下,输入y即可。
    嗯,几个参数,简单的介绍下:
    –level=5 : 代表作raid-5,如果你要做raid-1,那么就是–level=1
    –raid-devices=4: 有多少块硬盘用来做raid? 嗯,我有4块。
    后面几个就是用来做raid的分区啦。注意,后面的数字1哦。
    如果不出什么意外,它会告诉你
    mdadm: array /dev/md0 started.

    6、查看raid状态。
    #cat /proc/mdstat

    Personalities : [raid5]
    md0 : active raid5 sde1[4] sdd1[2] sdc1[1] sdb1[0]
    215045760 blocks level 5, 64k chunk, algorithm 2 [4/3] [UUU_]
    [>………………..] recovery = 0.4% (299776/71681920) finish=35.7min speed=33308K/sec
    unused devices: <none>
    那个……需要等等。
    一直到这样
    # cat /proc/mdstat

    Personalities : [raid5]
    md0 : active raid5 sde1[3] sdd1[2] sdc1[1] sdb1[0]
    215045760 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

    unused devices: <none>

    7、格盘
    这个…就不多说了吧
    #mkfs.ext3 /dev/md0
    然后就刷拉刷拉看它格去了。

    8、创建mdadm.conf
    首先,用文本编辑器打开/etc/mdadm.conf(没有就创建一个),写入这样一行
    DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde
    就是,在DEVICE后面把所有的raid盘都列出来。
    然后运行
    #mdadm –detail –scan
    可以看到一些有趣的信息吧?
    ARRAY /dev/md0 level=raid5 num-devices=4 UUID=af563620:2568f63a:face1db6:9d9f34f1
    devices=/dev/sdb1,/dev/sdc1,/dev/sdd1,/dev/sde1
    这些是需要添加到/etc/mdadm.conf中的。
    # mdadm –detail –scan >> mdadm.conf
    嗯,最好是再检查一番
    # more /etc/mdadm.conf

    9、修改/etc/fstab并挂载
    嗯,挂哪里呢?我一般是挂载在/data1下面
    把这样的东西添加到/etc/fstab中
    /dev/md0 /data1 ext3 defaults 1 2
    然后挂载
    #mount /data1

    ok,大功告成!

  • 相关阅读:
    window.onload的一些说明
    关于js函数,方法,对象实例的一些说明
    js之数组,对象,类数组对象
    js之数据类型及类型转换
    浅析JSONP
    php小记
    php下载文件,解压文件,读取并写入新文件
    python 循环列表的同时做删除操作
    Mysql压缩包版zip的安装方法
    django Cookie 和 Session 装饰器修复技术
  • 原文地址:https://www.cnblogs.com/oskb/p/3848641.html
Copyright © 2020-2023  润新知