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

     

    成功最有效的方法就是向有经验的人学习!
  • 相关阅读:
    51nod乘积之和
    Dell服务器安装OpenManage(OMSA)
    Nginx反向代理PHP
    搭建haproxy
    108. Convert Sorted Array to Binary Search Tree
    60. Permutation Sequence
    142. Linked List Cycle II
    129. Sum Root to Leaf Numbers
    118. Pascal's Triangle
    26. Remove Duplicates from Sorted Array
  • 原文地址:https://www.cnblogs.com/yanxinjiang/p/7562157.html
Copyright © 2011-2022 走看看