• 磁盘管理


    第1章 磁盘知识体系

     

    1.1 硬盘

    企业sas(默认)

    生产环境/线上环境-sas   15k转 300g-600g  10k转 108t    7.2k转  8t

    sata(内部 线下环境)

    线下环境使用(公司内部-备份)    1t 2t

    1.2 buffer和cache区别

    写buffer 写缓冲

    读cache 读缓存

    1.3 如何查询内存使用情况

    [root@dzc ~]# free -h

                 total       used       free     shared    buffers    cached

    Mem:        980M       448M     532M   232K     80M       187M

    -/+ buffers/cache:           180M       800M    #这才是真正的内存

    Swap:         767M        0B       767M

    内存是否被linux吃了?

    1. linux特点:把你使用过得命令 程序 临时存放在了 内存中的buffer/cache区 缓存区
    2. 方便下次使用
    3. 使用其他命令的时候 这些区域会自动被清理

    系统真正剩余的内存

    free +buffers + cached

    1.4 硬盘选购小结:

    线上的业务,用sas磁盘。

    线下的业务,用sata磁盘,磁带库。

    线上高并发、小容量(很多人都想看的图片)的业务,ssd磁盘。

    成本思想:根据数据的访问热度,智能分析分层储存。sata+ssd

    一台服务器中

    把用户经常使用图片 存放在ssd里面  60g

    不经常使用的放在 sata 500g

    【案例】高并发线上服务器使用sata硬盘

    网站宕机,数据库,连续宕机

    高并发/线上服务器 sas硬盘+raid 10

    1.5 什么是CDN

    饭店 - 总店

    南极

    北极

    如果用户在南极----通过南极分店 送货

    用户在哪里 就近选择分店然后送货

    第2章 磁盘的内部组成

    2.1 磁盘相关的名词

     disk ----磁盘

    head -----磁头

    track-----磁道

    sector -----扇区

    磁盘上面最小的单位 一个扇区512字节

    cylinder -----柱面

    units ---------单元块(一个柱面的大小)

    2.2 计算磁盘的容量

    一个柱面的大下*柱面的数量

    [root@dzc ~]# fdisk -l

     

    Disk /dev/sda: 10.7 GB, 10737418240 bytes

    255 heads, 63 sectors/track, 1305 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

    Sector size (logical/physical): 512 bytes / 512

    I/O size (minimum/optimal): 512 bytes / 512 byte

    Disk identifier: 0x0003d54e

    255 heads     255个磁头

    63 sectors/track  每个 磁道上面有63个扇区

    1305 cylinders   一共有1305个柱面

    Units         柱面的大小 单元块

    第3章 raid

    3.1 raid 磁盘阵列

    1. 你可以获得更大的容量,更安全,更快
    2. 服务器上的硬盘,不做raid是无法使用的。

    3.2 raid级别

    3.2.1 raid0 条带

    优点:把所有硬盘的容量加在一起,读写速度是一块硬盘的n倍.

    缺点:一块硬盘坏了,所有数据无法使用。

    数量:需要至少1块 硬盘

    使用背景:数据不是很重要,追求性能 数据库的从库(小弟) 集群的节点

    3.2.2 raid1 镜像

    优点:安全 可以损失一块,100%冗余

    缺点:写入速度比较慢,读取的时候还可以,成本高

    数量:只能是两块硬盘

    使用背景:对于数据的安全比较高,但是不需要太多的性能

    3.2.3 raid5 既有raid0性能 raid1冗余

    优点:奇偶校验,冗余 最多损坏一块硬盘 损失一块硬盘的容量

    缺点:读取的时候还可以,写入比较慢

    数量:至少三块

    使用背景:通用

    3.2.4 raid10

    优点:读写速度快,冗余 最多可以损坏一半

    缺点:成本高 容量可以使用所有硬盘的一半

    数量:最少4块硬盘 硬盘的数量是偶数

    使用背景:数据库

    第4章 磁盘分区

    linux 启动过程

    1. 开机自检 bios
    2. mbr引导
    3. grub菜单
    4. 加载内核
    5. 运行init进程
    6. 读取运行级别 /etc/inittab
    7. 运行初始化脚本 /etc/rc.sysinit 设置主机名 和ip地址
    8. 根据运行级别启动 /etc/rc3.d 开机自启动服务
    9. /etc/rc.local
    10. 显示登录界面

    4.1 mbr引导  主引导记录

    磁盘的0磁头 0磁道1扇区前446字节 512字节的

    446--MBR

    64字节-分区表 划分为4个格子 16*4  每个格子里面存放的是分区的信息(主分区 扩展分区)

    主分区 扩展分区 逻辑分区关系

    mbr 主引导记录

    [root@dzc ~]# dd if=/dev/sda of=/tmp/512.bin bs=512 count=1

    [root@dzc ~]# od -xa /tmp/512.bin

    查看二进制文件的内容 od -xa

    主分区

    最多有4个

    4.1.1 系统中 磁盘分区的命名

    /dev/

    sas/sata/scsi-----sd^

    第一块sas硬盘 sda

    第二块sas硬盘 sdb

    扩展分区

    没有办法直接使用 存放数据

    必须要在扩展分区下面划分逻辑分区才可以 使用。

    逻辑分区

    /sata/scsi/sas sda 5-15

    4.1.2 分区的命名

    主分区+扩展分区 1-4

    逻辑分区 5

    第一块硬盘的第一个主分区  :sda1

    第一块硬盘的第一个逻辑分区:sda5

    第二块硬盘的第二个逻辑分区:sdb6

    4.1.3 ps aux   rss与vsz什么区别?

    VSZ 进程所占用的虚拟内存的大小(物理内存+swap)
    RSS 进程所占用的内存(物理内存)

    [root@oldboyedu-40 ~]# ps aux

    USER                PID        %CPU         %MEM          VSZ            RSS(KB)             COMMAND

    运行这个进程用户    进程号     cpu使用率    内存使用率    虚拟内存大小   物理内存使用量  命令

    4.2 磁盘与分区

     fdisk 主要给磁盘小于2TB(分区表是mbr)

     parted 主要是给磁盘大于2TB(分区表是gpt)

    4.2.1 通过fdisk给磁盘进行分区

    10M(主)

    40M(逻辑)

    [root@dzc ~]# fdisk -cu /dev/sdb

     

    Command (m for help): m              

    Command action

       d   delete a partition                 删除一个分区

       m   print this menu                             显示帮助菜单

       n   add a new partition                              创建一个分区

       p   print the partition table                       显示分区表

       q   quit without saving changes                不保存退出

       w   write table to disk and exit                 保存退出

    Command (m for help): n

    Command action

       e   extended

       p   primary partition (1-4)

    e

    Partition number (1-4): 2

    First sector (22528-208895, default 22528):

    Using default value 22528

    Last sector, +sectors or +size{K,M,G} (22528-208895, default 208895):   

    Using default value 208895

     

    Command (m for help): p

     

    Disk /dev/sdb: 106 MB, 106954752 bytes

    64 heads, 32 sectors/track, 102 cylinders, total 208896 sectors

    Units = sectors of 1 * 512 = 512 bytes

    Sector size (logical/physical): 512 bytes / 512 bytes

    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disk identifier: 0x7f910191

     

       Device Boot      Start         End      Blocks   Id  System

    /dev/sdb1            2048       22527       10240   83  Linux

    /dev/sdb2           22528      208895       93184    5  Extended

     

    Command (m for help): n

    Command action

       l   logical (5 or over)

       p   primary partition (1-4)

    l

    First sector (24576-208895, default 24576):

    Using default value 24576

    Last sector, +sectors or +size{K,M,G} (24576-208895, default 208895): +40M

     

    Command (m for help): P

     

    Disk /dev/sdb: 106 MB, 106954752 bytes

    64 heads, 32 sectors/track, 102 cylinders, total 208896 sectors

    Units = sectors of 1 * 512 = 512 bytes

    Sector size (logical/physical): 512 bytes / 512 bytes

    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disk identifier: 0x7f910191

     

       Device Boot      Start         End      Blocks   Id  System

    /dev/sdb1            2048       22527       10240   83  Linux

    /dev/sdb2           22528      208895       93184    5  Extended

    /dev/sdb5           24576      106495       40960   83  Linux

     

    Command (m for help): w    

    4.2.2 添加一块硬盘sdb 100M 划分一个分区

    #####第一个里程碑-分区

    [root@oldboyedu-40 ~]# fdisk -cu  /dev/sdb

     

    Command (m for help): n

    Command action

       e   extended

       p   primary partition (1-4)

    p

    Partition number (1-4): 1

    First sector (2048-208895, default 2048):

    Using default value 2048

    Last sector, +sectors or +size{K,M,G} (2048-208895, default 208895):

    Using default value 208895

     

    Command (m for help): w

    The partition table has been altered!

     

    Calling ioctl() to re-read partition table.

    Syncing disks.

    第二个里程碑-装修-格式化创建文件系统

    #mkfs == make filesystem

    [root@oldboyedu-40 ~]# mkfs.ext4 /dev/sdb1

    mke2fs 1.41.12 (17-May-2010)

    ......

    This filesystem will be automatically checked every 26 mounts or

    180 days, whichever comes first.  Use tune2fs -c or -i to override.

    #关闭分区的自我检查

    [root@oldboyedu-40 ~]# tune2fs -c0 -i0 /dev/sdb1

    tune2fs 1.41.12 (17-May-2010)

    Setting maximal mount count to -1

    Setting interval between checks to 0 seconds

     

    #####第三个里程碑-挂载

    #mount 谁         哪里

    #mount 设备/分区  入口

    [root@oldboyedu-40 ~]# mount /dev/sdb1 /mnt/

    [root@oldboyedu-40 ~]# df -h

    Filesystem      Size  Used Avail Use% Mounted on

    /dev/sda3       8.8G  2.5G  6.0G  29% /

    tmpfs           931M     0  931M   0% /dev/shm

    /dev/sda1       190M   40M  141M  22% /boot

    /dev/sdb1        94M  1.6M   88M   2% /mnt

    第四个里程碑--让磁盘永久挂载 让磁盘在开机的时候自动挂载

    #1) /etc/rc.local
    /bin/mount /dev/sdb1 /mnt/
    #2) /etc/fstab 
    [root@oldboyedu-40 ~]# cat /etc/fstab 
    UUID=aee0ea69-0959-4579-a3ff-f49a65c74220 /                       ext4    defaults        1 1
    UUID=db3a1bcc-0362-416e-92b3-2c13a821fe08 /boot                   ext4    defaults        1 2
    UUID=91248463-928e-4577-9c1b-d079263df919 swap                    swap    defaults        0 0
    tmpfs                   /dev/shm                tmpfs   defaults        0 0
    devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
    sysfs                   /sys                    sysfs   defaults        0 0
    proc                    /proc                   proc    defaults        0 0

    第1列:磁盘分区   设备 
    第2列:挂载在哪里 挂载点
    第3列:文件系统的类型
    第4列:挂载参数
    第5列:是否进行dump备份
    第6列:是否进程fsck 磁盘检查
    tail -1 /etc/fstab 
    #/dev/sdb1               /mnt                    ext4    defaults        0 0

  • 相关阅读:
    臭皮匠排序(Stooge Sort)----(排序算法十二)
    奇偶排序(OddEven Sort)----(排序算法十一)
    ArrayList,LinkList,HashMap
    简单实现 ArrayList
    java多态性理解
    this,super,和继承
    java内存分析
    java url生成二维码保存到本地
    spring开发中commons-logging.jar包的功能
    构建Mavne项目结构结构目录里只有src/main/resources
  • 原文地址:https://www.cnblogs.com/dzc-/p/7930044.html
Copyright © 2020-2023  润新知