zoukankan      html  css  js  c++  java
  • 第十二章硬盘介绍和磁盘管理 随堂笔记

    第十二章-硬盘介绍和磁盘管理

    本节所讲内容:

    12.1 SAS-SATA-SSD-SCSI-IDE硬盘讲解

    12.2 磁盘分区工具和挂载

    12.3 实战扩展swap分区

     

    12.1 SAS-SATA-SSD-SCSI-IDE硬盘讲解

    常见磁盘类型:

     

    • SAS硬盘

     

     

    • SATA硬盘

     

     

    • SSD硬盘

     

     

    • SCSI硬盘

     

     

    • IDE硬盘

     

    你的服务器使用什么磁盘?

    SAS硬盘:

     

    • SAS(串行连接SCSI接口)

     

     

    • SAS(Serial Attached SCSI),串行连接SCSI接口,串行连接小型计算机系统接口。

     

     

    • SAS是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。

     

     

    • SAS的接口技术可以向下兼容SATA。

     

    SAS和SATA接口对比

     

    SAS 磁盘线

     

    磁盘尺寸:

     

    • 3.5英寸设计

     

     

    • 2.5英寸设计

     

     

    • 此前主流的桌面磁盘和服务器磁盘都是采用3.5英寸设计,而SAS硬盘除了具有传统的3.5英寸规格之外,还采用了2.5英寸的缩小版,这样可以在机架式服务器有限的空间内安装更多的磁盘以扩充存储系统的容量,也能够为其他配件腾出更大的空间,以便通风散热,在2U高度内使用8个2.5英寸的SAS硬盘位已经成为大多数服务器厂商的选择。

     

    已经被淘汰的硬盘:

    数据线和电源接口,串型和并型 哪个快?

    并口为什么没有串口快? 知道:1 不知道:2

     

    • 串口形容一下就是 一条车道,而并口就是有8个车道。同一时刻能传送8位(一个字节)数据。

     

     

    • 但是并不是并口快,由于8位通道之间的互相干扰。传输受速度就受到了限制。当传输出错时,要同时重新传8个位的数据,而且传输速度越快,干扰越严重。这是硬伤,这样速度就无法提升上来。

     

     

    • 串口没有干扰,传输出错后重发一位就可以了。而且串口传输的时钟频率要比并口高。

     

    1956年,一台5mb的IBM硬盘被装上飞机,重量超过一吨

     

    12.1.2 当下流行的磁盘种类

    常见硬盘品牌:希捷 西数 日立 HP DELL EMC IBM

    硬盘分几种?

     

    1. 从工作原理来说:

     

    固态:价格相对贵,寿命长,读取速度

    机械:怕摔、怕磁,(单位换下来的坏盘会做消磁处理),读取速度---》磁道寻址时间,潜伏时间

     

    1. 从硬盘的接口来说

     

    STAT:用在低端服务器多

    SAS、SCSI:用在中高服务器

    PCIE M.2

     

    对LINUX来说,在内核中,不同的接口对应有不同的命名方式:

    操作系统
    IDE
    STAT|SCSI
    SAS
    RHEL5
    /dev/hda
    /dev/sda
    /dev/sda
    RHEL6
    /dev/sda
    /dev/sda
    /dev/sda
    KVM
    /dev/vda
     
     
     

     

    例1:常见磁盘:

    戴尔(Dell)服务器硬盘 SAS 300G 15K 3.5英寸缓存:128MB 6Gbp/S

    http://item.jd.com/10437410142.html 支持热插拔

    ¥1330.00

     

    SAS 磁盘容量一般: 300G 600G

    有SAS 2T , 4T 的硬盘 ? 有:1 没有:2

    希捷(SEAGATE)ES.3系列 2TB 7200转128M SAS 企业级硬盘6G bp/s(ST2000NM0023)

    http://item.jd.com/1093052.html 京 东 价: ¥999.00

     

    假SAS= SATA盘身+ SAS接口(热插拔)

    硬盘: 容量大 + 便宜 符合市场需求!

    提速度:假SAS做raid5 raid10 ,做分布式存储 MFS ,HDFS,GFS, swift ,ceph

     

    例2:存储设备:阵列柜

    互动:存储会放到机柜的上面还是下面?

    下面:稳 , 换硬盘方便,机柜不容已倒,布线容易 ,太沉

     

    例3:以西部数据为例,了解一下SATA盘。

    你看过什么颜色的盘?

    蓝、黑、绿 红 , 黄盘? 看过:1 没有:2

     

    西部数据(WD)黑盘 2TB SATA6Gb/s 64MB 台式机硬盘¥999.00

    西部数据(WD)红盘 2TB SATA6Gb/s 64M 台式机硬盘 ¥849.00

    西部数据(WD)紫盘 2TB SATA6Gb/s 64M 监控硬盘 ¥589.00

    西部数据(WD)绿盘 2TB SATA6Gb/s 64M 台式机硬盘 ¥499.00

    西部数据(WD)蓝盘 2TB SATA6Gb/s 64M 台式机硬盘 ¥459.90

    西部数据(WD) 金盘 2TB 7200转128M 企业级硬盘(WD2005FBYZ)¥1099

    http://item.jd.com/4360258.html#crumb-wrap

     

    西部数据(WD)蓝盘 2TB SATA6Gb/s 64M 台式机硬盘(WD20EZRZ)

    http://item.jd.com/2054175.html

    村中技巧:要4块黑块, 把蓝盘上的标签一撕,然后花两元买4个黑盘的标签一贴。

    4块硬盘挣500*4=2000元

    如何无痕撕标签?吹风机

    如何防?

    硬件大师 鲁大师 可以检测 ,或上官网查看序列号

     

    大容量磁盘价格:

    西部数据(WD)绿盘 6TB SATA6Gb/s 64MB台式机硬盘¥1899.00

    昱科/HGST Ultrastar He10 10T企业级服务器磁盘阵列硬盘10TB现货

    http://item.jd.com/10441913977.html

    注:昱科->前日立硬盘业务

     

    查看存储上的磁盘:

    注:ST 希捷 WD 西数

    例2:游戏服务器上的固态磁盘: 数据不多, 但要延迟小,随机读写能力强!

    接口:

     

    http://item.jd.com/10427653932.html

    三星/SAMSUNG 750 EVO SSD固态硬盘120G/250G/500G 支架+螺丝刀+SATA线+螺丝 500G

    京 东 价 ¥899.00

    http://item.jd.com/10427653932.html

     

    互动:有SAS接口的SSD硬盘?

    联想(Lenovo)IBM存储 V3500/V3700系列 2.5英寸存储硬盘 200G SAS SSD

    http://item.jd.com/10184874758.html ¥9999.00

    戴尔(DELL)400GB SAS 接口 2.5英寸 SSD固态硬盘 服务器硬盘¥6900.00 

    http://item.jd.com/1578475963.html

    例5:开眼界!最贵的SSD磁盘?

    英特尔(Intel) DC P3608 1/2 PCIe NVMe3.0x8 MLC固态硬盘 P3608 PCI-E 4TB ¥38999.00 

    https://item.jd.com/11114372517.html

    经验: 对于机械式磁盘,SATA3和SATA2接口标准,速度上没有太明显提升,但是对于固态磁盘,SATA3接口比SATA2快很多,就像USB3.0比USB2.0快很多一样。

     

    12.2 磁盘分区工具和挂载

    12.2.1 硬盘分区符认识

    MBR概述:全称为Master Boot Record,即硬盘的主引导记录。

    硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。它由三个部分组成,主引导程序、硬盘分区表DPT(Disk Partition table)和分区有效标志(55AA)。在总共512字节的主引导扇区里主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。

    分区编号:主分区1-4 ,逻辑分区5……

    LINUX规定:逻辑分区必须建立在扩展分区之上,而不是建立在主分区上

    分区作用:

    主分区:主要是用来启动操作系统的,它主要放的是操作系统的启动或引导程序,/boot分区最好放在主分区上

    扩展分区不能使用的,它只是做为逻辑分区的容器存在的;我们真正存放数据的是主分区和逻辑分区,大量数据都放在逻辑分区中

    如果你用的是GPT的分区方式,那么它没有限制主分区个数

    注意:使用分区工具fdisk对磁盘进行操作,分区,格式化(重点)

    命名方式: /dev/sd[a-z]n

    其中:a-z 表示设备的序号,如sda表示第一块scsi硬盘,sdb就是第二块......

    n 表示每块磁盘上划分的磁盘分区编号

     

    12.2.2 使用fdisk管理分区

    fdisk:磁盘分区,是Linux发行版本中最常用的分区工具

    用法:fdisk [选项] device

    常用的选项 : -l 查看硬盘分区表

    案例:在sdb盘上建一个分区,大小为100M

    在虚拟机上添加一块硬盘

    例:对sdb这块盘划分一个100M的分区出来

    [root@xuegod63 ~]# fdisk /dev/sdb

    ...

    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 删除分区

    g create a new empty GPT partition table

    G create an IRIX (SGI) partition table

    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)

     

    Command (m for help): p -----打印分区表

    Command (m for help): n ----新建一个分区

    Partition type:

    p primary (2 primary, 0 extended, 2 free) p:主分区

    e extended e:扩展分区

    Select (default p): --直接默认

    Using default response p

    Partition number (1,4, default 1): ---直接默认

    First sector (1230848-41943039, default 1230848): ---直接默认

    Using default value 1230848

    Last sector, +sectors or +size{K,M,G} (1230848-41943039, default 41943039): +1G 输入分区大小

    Partition 3 of type Linux and of size 1 GiB is set

    Command (m for help): w 保存退出

     

    [root@xuegod63 ~]# ls /dev/sdb*

    /dev/sdb /dev/sdb1

     

    例2:对已经在使用的磁盘进行分区,分区让新生成的分区生效。如果对sda再做一个sda4主分区

    [root@xuegod63 ~]# fdisk /dev/sda

    命令(输入 m 获取帮助):p

    磁盘标识符:0x0005c80e

     

    设备 Boot Start End Blocks Id System

    /dev/sda1 * 2048 411647 204800 83 Linux

    /dev/sda2 411648 2508799 1048576 82 Linux swap / Solaris

    /dev/sda3 2508800 23480319 10485760 83 Linux

     

    命令(输入 m 获取帮助):n

    Partition type:

    p primary (3 primary, 0 extended, 1 free)

    e extended

    Select (default e): p

    已选择分区 4

    起始 扇区 (23480320-41943039,默认为 23480320):

    将使用默认值 23480320

    Last 扇区, +扇区 or +size{K,M,G} (23480320-41943039,默认为 41943039):+1G

    分区 4 已设置为 Linux 类型,大小设为 1 GiB

     

    命令(输入 m 获取帮助):w

    The partition table has been altered!

     

    Calling ioctl() to re-read partition table.

     

    WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.

    The kernel still uses the old table. The new table will be used at

    the next reboot or after you run partprobe(8) or kpartx(8)

    解决:让新生成的分区生效:

    [root@xuegod63 ~]#reboot #这个是最好的方法

    [root@xuegod63 ~]# partx -a /dev/sda #获得新分区表

     

    使用sdb1新分区:

    [root@xuegod63 ~]# mkfs.ext4 /dev/sdb1

    [root@xuegod63 ~]# mkfs.xfs /dev/sdb1 #格式化,-f 对已经存在文件系统的分区,强制格式化

    [root@xuegod63 ~]# mkdir /sdb1 #创建挂载点

    [root@xuegod63 ~]# mount /dev/sdb1 /sdb1/ #挂载

    [root@xuegod63 ~]# df -h #查看

    文件系统 容量 已用 可用 已用% 挂载点

    /dev/sda3 10G 4.3G 5.8G 43% /

    devtmpfs 982M 0 982M 0% /dev

    tmpfs 997M 0 997M 0% /dev/shm

    tmpfs 997M 9.0M 988M 1% /run

    tmpfs 997M 0 997M 0% /sys/fs/cgroup

    /dev/sr0 4.3G 4.3G 0 100% /mnt

    /dev/sda1 197M 172M 25M 88% /boot

    tmpfs 200M 24K 200M 1% /run/user/0

    /dev/sdb1 1014M 33M 982M 4% /sdb1

     

    [root@xuegod63 ~]# cd /sdb1/ #使用新分区

    [root@xuegod63 sdb1]# ls

    [root@xuegod63 sdb1]# cp /etc/passwd ./

     

    例3:解决卸载不了的问题

    root@xuegod63 ~]# cd /sdb1/

    [root@xuegod63 sdb1]# umount /sdb1

    umount: /sdb1:目标忙。

    (有些情况下通过 lsof(8) 或 fuser(1) 可以

    找到有关使用该设备的进程的有用信息)

    [root@xuegod63 sdb1]# lsof /sdb1

    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

    bash 2823 root cwd DIR 8,17 20 64 /sdb1

    lsof 2952 root cwd DIR 8,17 20 64 /sdb1

    lsof 2953 root cwd DIR 8,17 20 64 /sdb1

    方法1:[root@xuegod63 sdb1]# kill -9 2823

    方法2:[root@xuegod63 sdb1]# cd #退出目录,这个最合适

    [root@xuegod63 ~]# umount /dev/sdb1

    注:umount 挂载点 //卸载方式1 或 umount 设备路径 //卸载方式2

     

    例4:写入配置文件,让它开机自动挂载

    [root@xuegod63 /]# vim /etc/fstab #在文件最后写入

    /dev/sdb1 /sdb1 xfs defaults 0 0

    注释:

    /dev/sdb1
    /sdb1
    xfs
    defaults
    0
    0
    要挂载的分区设备
    挂载点
    文件系统类型
    挂载选项
    是否备份
    是否检测
     

     

    [root@xuegod63 ~]# mount -a #自动挂载/etc/fstab中没有挂载上的文件

    [root@xuegod63 ~]# df -h

    文件系统 容量 已用 可用 已用% 挂载点

    /dev/sda3 10G 4.3G 5.8G 43% /

    devtmpfs 982M 0 982M 0% /dev

    tmpfs 997M 0 997M 0% /dev/shm

    tmpfs 997M 9.0M 988M 1% /run

    tmpfs 997M 0 997M 0% /sys/fs/cgroup

    /dev/sr0 4.3G 4.3G 0 100% /mnt

    /dev/sda1 197M 172M 25M 88% /boot

    tmpfs 200M 24K 200M 1% /run/user/0

    /dev/sdb1 1014M 33M 982M 4% /sdb1

    #发现已经挂载上,说明配置没有问题。 然后再重启,看看挂载

     

    方法2: 使用UUID挂载

    [root@xuegod63 ~]# blkid

    /dev/sda1: UUID="a635d4d2-a21e-4d9b-b199-4c8d5cfed808" TYPE="xfs"

    /dev/sda2: UUID="46f139f8-fd5c-4e51-8d5c-b33f6c7aa38e" TYPE="swap"

    /dev/sda3: UUID="4bcb433e-10e6-464d-a40b-00d018950149" TYPE="xfs"

    /dev/sdb1: UUID="5e3a580a-e5b4-448c-88bf-d22fb3d1d9e2" TYPE="xfs"

    [root@xuegod63 /]# echo "UUID=5e3a580a-e5b4-448c-88bf-d22fb3d1d9e2 /sdb1 xfs defaults 0 0" >> /etc/fstab

    扩展:了解

    /dev/sdb1
    /sdb1
    xfs
    defaults
    0
    0
    要挂载的分区设备
    挂载点
    文件系统类型
    挂载选项
    是否备份
    是否检测
     

    其中第四列:parameters-文件系统的参数

    Async/sync
    设置是否为同步方式运行,默认为async
    auto/noauto
    当执行mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
    rw/ro
    是否以以只读或者读写模式挂载
    exec/noexe
    限制此文件系统内是否能够进行"执行"的操作
    user/nouser
    是否允许用户使用mount命令挂载
    suid/nosuid
    是否允许SUID的存在
    Usrquota
    启动文件系统支持磁盘配额模式
    Grpquota
    启动文件系统对群组磁盘配额模式的支持
    Defaults
    同时具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置 samba nfs
     

    第五列:是否进行备份。通常这个参数的值为0或者1

    0
    代表不要做备份
    1
    代表要每天进行操作
    2
    代表不定日期的进行操作
     

    第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整

    0
    不要检验
    1
    最早检验(一般根目录会选择)
    2
    1级别检验完成之后进行检验
     

    12.2.3 gdisk 磁盘分区工具

    gdisk主要是用来划分容量大于2T的硬盘,大于2T fdisk搞不定

    两种类型的分区表:GPT和MBR ; MBR不支持4T以上

    GPT分区:例:对sdb做gpt分区,创建一个sdb1

    [root@xuegod63 ~]# gdisk /dev/sdb

    。。。

    Command (? for help): ? # 查看帮助

    b back up GPT data to a file

    c change a partition's name

    d delete a partition #删除分区

    i show detailed information on a partition

    l list known partition types

    n add a new partition # 添加一个分区

    o create a new empty GUID partition table (GPT)

    p print the partition table # 打印分区表

    q quit without saving changes # 退出不保存

    r recovery and transformation options (experts only)

    s sort partitions

    t change a partition's type code

    v verify disk

    w write table to disk and exit # # 写入分区表并退出

    x extra functionality (experts only)

    ? print this menu

     

    Command (? for help): n #新建分区表

    Partition number (1-128, default 1): #直接回车

    First sector (34-41943006, default = 2048) or {+-}size{KMGTP}: #直接回车, 从头开始划分空间

    Last sector (2048-41943006, default = 41943006) or {+-}size{KMGTP}: +1G #给1G空间

    Current type is 'Linux filesystem'

    Hex code or GUID (L to show codes, Enter = 8300): #分区类型直接回车

    注:8300 Linux filesystem ;8e00 Linux LVM 想查看,可以按L 来显示

    Changed type of partition to 'Linux filesystem'

     

    Command (? for help): p #查看

    。。。

    Number Start (sector) End (sector) Size Code Name

    1 2048 2099199 1024.0 MiB 8300 Linux filesystem

    Command (? for help): w #保存

    Do you want to proceed? (Y/N): y #确定写入

    OK; writing new GUID partition table (GPT) to /dev/sdb.

    The operation has completed successfully.

    [root@xuegod63 ~]# mkfs.xfs /dev/sdb1 #格式化

     

    例2: 修改fstab重启系统后,系统报错:

    重启后报错:

    输入root密码: 123456

    把fstab中新添加开机自动加载项目删除:

    然后reboot

     

    12.3 实战扩展swap分区

    Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。

    mkswap /devices (格式化成swap格式)

    swapon /swap (激活/swap,加入到swap分区中)

    vim /etc/fstab (开机自启动新添加的swap分区) ,在最后追加:

    /devices swap swap defaults 0 0

    如果不想使用需要删除,只需要执行#swapoff /swap

    12.3.1 先分个区

    [root@xuegod63 ~]# gdisk /dev/sdb

    ...

    Command (? for help): n #新建分区

    Partition number (2-128, default 2): #回车

    First sector (34-41943006, default = 2099200) or {+-}size{KMGTP}: #回车

    Last sector (2099200-41943006, default = 41943006) or {+-}size{KMGTP}: +1G #给1G

    Current type is 'Linux filesystem'

    Hex code or GUID (L to show codes, Enter = 8300): #回车

    Changed type of partition to 'Linux filesystem'

     

    Command (? for help): w #保存

    Do you want to proceed? (Y/N): y

     

    格式化swap

    [root@xuegod63 ~]# mkswap /dev/sdb2

    正在设置交换空间版本 1,大小 = 2097148 KiB

    无标签,UUID=dc41b5ef-bcf1-477c-902e-c5bb00d41c1e

    验证:

    [root@xuegod63 ~]# free -m

    total used free shared buff/cache available

    Mem: 977 557 75 16 345 168

    Swap: 2047 234 1813

    [root@xuegod63 ~]# swapon /dev/sdb2 ---开启

    [root@xuegod63 ~]# free -m

    total used free shared buff/cache available

    Mem: 977 556 75 16 345 169

    Swap: 3071 234 2837

    [root@xuegod63 ~]# swapoff /dev/sdb2 ---关闭

    [root@xuegod63 ~]# free -m

    total used free shared buff/cache available

    Mem: 977 556 75 16 345 169

    Swap: 2047 234 1813

    [root@xuegod63 ~]# swapon -s

    Filename Type Size Used Priority

    /dev/dm-1 partition 2097148 240532 -1

    [root@xuegod63 ~]# swapon /dev/sdb2

    [root@xuegod63 ~]# swapon -s #查看

    Filename Type Size Used Priority

    /dev/dm-1 partition 2097148 240532 -1

    /dev/sdb2 partition 1048572 0 -2

    12.3.2 通过文件增加SWAP空间

    [root@xuegod63 ~]# dd if=/dev/zero of=swap_file bs=1M count=500

    [root@xuegod63 ~]# ll /root/swap_file

    [root@xuegod63 ~]# chmod 0600 /root/swap_file

    [root@xuegod63 ~]# mkswap -f /root/swap_file

    [root@xuegod63 ~]# swapon /root/swap_file

    [root@xuegod63 ~]# free -m

     

    总结:

    12.1 存储的基本知识

    12.2 硬盘分区介绍

    12.3 磁盘分区工具

    12.2 实战扩展swap分区

     

  • 相关阅读:
    AGC007题解
    博弈论学习笔记
    ZROI2019 提高十连测
    男人八题2019
    LOJ 2840「JOISC 2018 Day 4」糖
    CF671D Roads in Yusland
    网络流套路小结
    BZOJ 3729 GTY的游戏
    AGC036C GP 2
    BZOJ 5046 分糖果游戏
  • 原文地址:https://www.cnblogs.com/xuegod/p/9858334.html
Copyright © 2011-2022 走看看