zoukankan      html  css  js  c++  java
  • Linux运维基础提高之RAID卡和磁盘分区

    磁盘大小计算: 柱面的数量*每个柱面的大小(容量)

    [root@luffy001 ~]# fdisk -l

    Disk /dev/sda: 10.7 GB, 10737418240 bytes
    255 heads, 63 sectors/track, 1305 cylinders (柱面的数量)
    Units = cylinders of 16065 * 512 = 8225280 bytes(柱面的字节数)

    echo “”|bc  echo “1305*8225280”|bc

    使用awk 计算磁盘的容量 awk ‘begin{print 8225280 *1305/1024^3 }’ 磁盘大小计算方法。

    RAID卡(磁盘冗余阵列)

    软RAID 系统架构及恢复.(节省成本,访问量几百)

    安装系统前可以选择software进行设置.查看软raid配置信息 cat /proc/mdstat

    热添加硬盘: mdadm /dev/md1 -a /dev/hdb5

          mdadm /dev/md2 -a /dev/hdb3 (根据分区情况来定)

    A盘正常,B盘不工作, 系统仍正常运行

    A盘停掉,B盘工作,系统不能正常运行, 原因是B盘上没有引导导致.

    防止单盘故障, 给两块盘都装grub引导.

    grub  cat /boot/grub/grub.conf

    root (hd0,0)

    setup (hd0)

    root (hd1,0)

    vim /boot/grub/grub.conf

    新加盘恢复RAID1

    A盘正常,B盘为新加盘,两盘的分区要一样,所以COPYA盘的分区表.(模拟Raid1出故障如何解决)

    重组RAID1,使系统在RAID1上更安全.

    为防止A盘故障,在新加B盘加Grub引导.

    1.导出A盘的分区

    sfidisk -d /dev/hda > partition.hda

    2.在新盘B上建立和A同样的分区.

    sfdisk /dev/hdb < partition.hda

     3.查看当前RAID1工作情况(可以发现只有一块盘在工作),

    cat /proc/mdstat

    4.把新加的B盘加入到RAID1中,恢复RAID1架构.(RAID1做了热备,会自动恢复新加的磁盘的数据)

    mdadm /dev/mdx  -a /dev/hdbx

    恢复完之后,将hda1 的grub信息导入到hdb1中就可以让两块磁盘任意一块故障时系统仍旧可以使用.

    RAID系统架构及扩容.

    RAID5架构

    系统安全( raid)

    超大容量 (RAID,LVM)

    将来扩容  -(LVM) 

    组建RAID-5

    mdadm --create /dev/md0 --level=5 --raid-devices=3 -c 128 /dev/sda1 /dev/sdb1 /dev/sdc1

    cat /proc/mdstat

    建LVM

    先pvcreate /dev/md0

    再vgcreate /dev/md0

    vgdisplay

    恢复Raid5的数据.命令:

    新插入一块硬盘sdc  需要先分区,然后再进行添加到raid5中

    mdadm  /dev/md0 -a /dev/sdc1 然后再查看raid5 的情况. cat /proc/mdstat

    mdadm --detail /dev/md0

     换磁盘注意事项,不要打乱原来盘的槽位.

    raid5 扩容的命令:

    mdadm --grow /dev/md0  --raid-devices=4 再查看状态就好了

    LV的扩容工作:

    pvresize /dev/md0 改变pv大小

    删除RAID分区

    作用: 获得更高的容量,更强的性能,更强的安全性。

    RAID卡/阵列卡。

    基础RAID卡     支持的raid级别不同,

    高级raid卡      raid卡的缓冲容量不同

    常用的raid级别。

                最低几块  安全性     可用容量             性能            使用场景                      举例

    raid 0   1块   安全性最低    所有硬盘容量之和   读写最快     不要求安全,只要速度    数据库从库

    raid 1  2块       100%       所有容量的一半   写入速度慢       只追求安全性              系统盘

                                                                 读取OK                        

    raid 5  3       最多损坏1块   损坏一块盘的容量  写入性能不好   对速度安全要求不高    普通数据库,存储 n(n-1)/n

    raid 10 4     可以损坏一半    损失所有硬盘容量一半  读写很快    对于安全和性能都要    数据库主库,存储 

    raid10  先做raid1   再做单盘raid 0  磁盘有数据镜像,然后raid 0 存储空间.

    磁盘分区原理:

    主分区1-4 个 最多4个主分区(primary)

    扩展分区(extended))5-   逻辑分区(logical)

    分区命令规则:

    HD硬盘主分区依次为 hda 开始命名

    SAS SATA,SCSI 接口硬盘, sda,b,c,d,e,f 等

    主分区/扩展分区1-4

    逻辑分区 从5开始.

    例子:写出下面分区的名字及其含义.

    第1块SAS硬盘的第1个主分区  /dev/sda1   

    第3块硬盘的第2个扩展分区 /dev/sdc6

    第4块SATA硬盘的第一个扩展分区 /dev/sdd5

    fdisk 命令进行磁盘分区 2T磁盘以下的  --基于MBR分区--主分区表4个

    part 进行磁盘分区, 大于2T的磁盘进行磁盘分区和挂载

    fdisk  -cu  /dev/sdb1

    fdisk 的参数.

    Command action
    a    toggle a bootable flag   切换可引导标志
    b    edit bsd disklabel   编辑 bsd disklabel
    c    toggle the dos compatibility flag   切换dos可兼容性标志
    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  创建一个新的dos分区表
    p    print the partition table   打印分区表
    q    quit without saving changes  退出不保存
    s    create a new empty Sun disklabel   创建一个新的空的磁盘标签
    t    change a partition's system id  更改分区系统ID
    u    change display/entry units  更改 展示 entry utils
    v    verify the partition table  验证分区表
    w    write table to disk and exit   保存并退出分区表
    x    extra functionality (experts only)   额外功能(仅限专家)

    主分区  (w)保存分区表  ls -l /dev/sdb

    扩展分区 extended

    逻辑分区 logical

    命令:

    n  创建新分区,

    p 查看当前分区的信息

    格式化,创建文件系统

    [root@luffy001 ~]# mkfs.ext4 /dev/sdb1
    mke2fs 1.41.12 (17-May-2010)
    Filesystem label=
    OS type: Linux
    Block size=1024 (log=0)
    Fragment size=1024 (log=0)
    Stride=0 blocks, Stripe width=0 blocks
    25896 inodes, 103424 blocks
    5171 blocks (5.00%) reserved for the super user
    First data block=1
    Maximum filesystem blocks=67371008
    13 block groups
    8192 blocks per group, 8192 fragments per group
    1992 inodes per group
    Superblock backups stored on blocks:
    8193, 24577, 40961, 57345, 73729

    Writing inode tables: done
    Creating journal (4096 blocks): done
    Writing superblocks and filesystem accounting information: done

    This filesystem will be automatically checked every 29 mounts or
    180 days, whichever comes first. Use tune2fs -c or -i to override.

     tune2fs -c 0 -i 0 /dev/sdb1   

    -c  count  关闭每挂载多少次进行磁盘检查的功能

    -i 0 interval 关闭每180天进行磁盘检查功能

    进行永久挂载....

    mount /dev/sdb1 /mnt    (挂载之前 df -h  检查挂载点是否可用) 这种挂载,在重启后会消失挂载的分区.

    永久挂载的方法:

    方法1: /etc/rc.local

    /bin/mount /dev/sdb1 /mnt 

    方法2: 写入挂载的分区和挂载点到文件/etc/fstab .系统开机时会自动挂载.

    UUID=1d3ad35b-516b-4582-b5e8-6fedb39df41c /                       ext4    defaults          1    1
    UUID=717a49d6-b9f2-4792-a6d6-b7794fb2f276 /boot                 ext4    defaults          1    2
    UUID=e7367797-9805-42c4-843c-b4ec46658d1c swap               swap    defaults          0     0

    uuid    设备名称                                                      挂载点       磁盘分区类型   默认参数  是否备份  是否进行磁盘检查.(0)

    man fstab  信息查看

    小结:

    1.创建分区,并通知系统磁盘分区表变化 (fdisk partprobe /dev/sdb)

    2.格式化创建文件系统,并关闭磁盘检查(inode, block) mkfs.ext4 /dev/sdb1  tune2fs -c 0 -i 0 /dev/sdb1

    3.挂载开机自动挂载创建的分区  (开机自动挂载vim /etc/fstab) umount /mnt  直接卸载挂载点  df -h 

    parted 命令. 和fdisk 区别(小于2T)---基于GPT分区表()1ZB = 1024EB=1024*1024PB=1024^3 TB

    52-mbr与gpt区别-parted进行磁盘分区流程:

    mklabel mktable  创建磁盘分区表,

    mkdos  (mbr)

    mkpart    创建分区

    rm   删除分区

    q   退出不保存

     parted命令是实时的不用保存的

    博文阅读密码felix
  • 相关阅读:
    MySQL简介
    MySQL表及索引相关知识
    关系型和非关系型数据库
    IntelliSense: #error 指令: Please use the /MD switch for _AFXDLL builds————c++编程问题
    msvcrt是做什么的
    COLORREF的结构和用法
    虚函数这么用,只要有一个基类的指针就行了
    映射的磁盘(网络驱动器)无法显示svn图标
    as3 textfield 旋转文字有锯齿的问题
    cocos2dx中CCFileUtils::sharedFileUtils()>getFileData的内存释放问题
  • 原文地址:https://www.cnblogs.com/Enzoo/p/9991275.html
Copyright © 2011-2022 走看看