zoukankan      html  css  js  c++  java
  • linux运维、架构之路-linux磁盘管理

    一、企业中磁盘选购:

    1、线上的业务,用SAS磁盘

    2、线下的业务,用SATA磁盘,磁带库

    3、线上高并发、小容量(多人浏览力图片)的业务,SSD磁盘

    4、根据数据的访问热度,智能分析分层存储,SATA+SSD

    二、常见磁盘类型与接口类型:SAS 、SATA、 SCSI、 PHI-E

    三、磁盘内部原理

    1、磁头:用来写入和读取数据,盘面的数量=磁头的数量

    2、磁道(Track)

    3、扇区:磁道上面的最小单位,默认大小为512字节

    4、柱面

    5、单元块:表示一个柱面的大小

    四、生产环境常用RAID级别:RAID0,RAID1,RAID5,RAID10

    1、RAID是磁盘阵列所使用的主要技术。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组

    RAID级别

    最少磁盘要求

    关键优点

    关键缺点

    应用场景

    RAID0

    1块

    读写速度很快

    没有任何冗余

    MySQL Slave,集群的节点

    RAID1

    2块

    100%冗余,镜像

    读写一般,成本高

    单独服务器,数据重要,且不能宕机的业务,监控系统般等

    RAID5

    3块

    具备一定性能和冗余,可以坏一块盘

    写入性能不高

    一般的业务都可以使用

    RAID10

    4块

    读写速度都很快,100%冗余

    成本高

    性能和没队要求很好的业务,MySQL主库和NFS主节点

    2、 磁盘分区

    ①磁盘分区有三种:主分区、扩展分区、逻辑分区

         一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个。且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个

    ②磁盘分区命名

    sata第一块硬盘 sda

    sata第二块硬盘 sdb

    sata磁盘第一块硬盘的第一个分区    sda1

    sata磁盘第一块硬盘的第一个逻辑    sda5

    ③MBR主引导扇区,它仅仅包含一个64个字节的硬盘分区表

    五、分区工具fdisk、parted

    1 、fdisk用法和参数(只能用于小于2T的磁盘分区)

    n     (add a new partition)

    创建分区

    p     (print the partition table)

    显示磁盘分区表

    d     (delete a partition)

    删除一个分区

    q     (quit without saving changes)

    退出不保存

    w     (write table to disk and exit)

    退出并保存

    新添加一个100M小磁盘:
    [root@nfs-server ~]# fdisk -l|egrep "sd[a-z]:"
    Disk /dev/sda: 8589 MB, 8589934592 bytes
    Disk /dev/sdb: 106 MB, 106954752 bytes
    [root@nfs-server ~]# fdisk /dev/sdb
    Command (m for help): n           #——>输入n为创建分区
    Command action
       e   extended
       p   primary partition (1-4)    #——>输入p选择创建主分区
    Partition number (1-4): 1
    First cylinder (1-102, default 1): 
    Using default value 1
    Last cylinder, +cylinders or +size{K,M,G} (1-102, default 102): +50M         #——>为主分区选择大小50M
    
    Command (m for help): w           #——>保存分区修改并退出

    2、parted用法和参数(大于2T的磁盘分区需要)

    mklabel,mktable LABEL-TYPE

    创建磁盘分区表

    mkpart PART-TYPE [FS-TYPE] START END

    创建分区

    print

    显示磁盘分区表信息

    rm NUMBER

    删除一个分区

    新添加一个100M小磁盘:
    [root@nfs-server ~]# parted /dev/sdb
    (parted) mklabel gpt          #——>gpt分区引导,可以解决主分区最多只能有4个的问题
    (parted) mkpart lidao 0 50    #——>创建一个分区名为lidao的分区,大小是50M
    Warning: The resulting partition is not properly aligned for best performance.
    Ignore/Cancel? I              #——>忽略警告
    (parted) q                    #——>退出,无需保存,即时生效
    Information: You may need to update /etc/fstab.
    [root@nfs-server ~]# ll /dev/sdb*
    brw-rw---- 1 root disk 8, 16 Jul 10 14:53 /dev/sdb
    brw-rw---- 1 root disk 8, 17 Jul 10 14:45 /dev/sdb1

    小题:创建一个100m分区,挂载到/mnt目录上面

    一、使用fdisk创建一个100M分区
    [root@nfs-server ~]# fdisk /dev/sdb
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 1
    First cylinder (1-102, default 1): 
    Using default value 1
    Last cylinder, +cylinders or +size{K,M,G} (1-102, default 102): +100M
    二、通知系统某个磁盘的分区表改变了
    [root@nfs-server ~]# partprobe /dev/sdb
    三、格式化这个分区
    [root@nfs-server ~]# mkfs.ext4 /dev/sdb1
    四、挂载/dev/sdb1
    [root@nfs-server ~]# mount /dev/sdb1 /mnt/
    [root@nfs-server ~]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3       6.9G  1.5G  5.1G  23% /
    tmpfs           242M     0  242M   0% /dev/shm
    /dev/sda1       190M   34M  146M  19% /boot
    /dev/sdb1        94M  1.6M   88M   2% /mnt
    五、文件系统开机自动挂载
    方法1、echo "mount /dev/sdb1 /mnt/" >>/etc/rc.local
    方法2、放到/etc/fstab配置文件中tail -1 /etc/fstab
    /dev/sdb1               /mnt                    ext4    defaults        0 0

    3、文件系统及工作中JAVA环境下内存不够用临时增加swap空间

    CentOS 5  默认文件系统:ext3

    CentOS 6  默认文件系统:ext4

    CentOS 7  默认文件系统:xfs

    JAVA环境下,内存不够用,如何临时增加swap空间

    [root@nfs-server ~]# free –h ——查看当前系统内存使用情况
                 total       used       free     shared    buffers     cached
    Mem:          482M       120M       362M       232K        13M        34M
    -/+ buffers/cache:        72M       409M
    Swap:         767M         0B       767M
    第一步:创建文件(块)
    [root@nfs-server ~]# dd if=/dev/zero  of=/tmp/100m  bs=1M  count=100
    100+0 records in
    100+0 records out
    104857600 bytes (105 MB) copied, 1.45189 s, 72.2 MB/s
    [root@nfs-server ~]# ll -h /tmp/100m 
    -rw-r--r-- 1 root root 100M Jul 10 15:51 /tmp/100m
    第二步:让这个文件(块)成为swap
    [root@nfs-server ~]# mkswap /tmp/100m 
    mkswap: /tmp/100m: warning: don't erase bootbits sectors
            on whole disk. Use -f to force.
    Setting up swapspace version 1, size = 102396 KiB
    no label, UUID=d2e62cdf-1447-439e-91ec-828db8e7158d
    第三步:增加系统正在使用的swap
    [root@nfs-server ~]# swapon /tmp/100m 
    [root@nfs-server ~]# free -h
                 total       used       free     shared    buffers     cached
    Mem:          482M       354M       127M       232K        30M       219M
    -/+ buffers/cache:       105M       377M
    Swap:         867M         0B       867M
    第四步:开机自动挂载swap
    echo "swapon /tmp/100m" >>/etc/rc.local

     

    成功最有效的方法就是向有经验的人学习!
  • 相关阅读:
    min_25筛入门
    [湖南集训]更为厉害/谈笑风生
    [ARC060D] 最良表現
    [CQOI2007]矩形
    [SCOI2009]粉刷匠
    PAT乙级1030
    PAT乙级1028
    PAT乙级1029
    PAT乙级1026
    PAT乙级1027
  • 原文地址:https://www.cnblogs.com/yanxinjiang/p/7562157.html
Copyright © 2011-2022 走看看