本节所讲内容:
12.1 SAS-SATA-SSD-SCSI-IDE硬盘讲解
常见磁盘类型:
你的服务器使用什么磁盘?
SAS硬盘:
磁盘尺寸:
并口为什么没有串口快? 知道:1 不知道:2
12.1.2 当下流行的磁盘种类
常见硬盘品牌:希捷 西数 日立 HP DELL EMC IBM
硬盘分几种?
对LINUX来说,在内核中,不同的接口对应有不同的命名方式:
例1:常见磁盘:
SAS 磁盘容量一般: 300G 600G
有SAS 2T , 4T 的硬盘 ? 有:1 没有:2
假SAS= SATA盘身+ SAS接口(热插拔)
例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硬盘?
例5:开眼界!最贵的SSD磁盘?
经验: 对于机械式磁盘,SATA3和SATA2接口标准,速度上没有太明显提升,但是对于固态磁盘,SATA3接口比SATA2快很多,就像USB3.0比USB2.0快很多一样。
Linux架构师高薪入口:
1.学神IT教育官方网站: http://xuegod.ke.qq.com
2.10年行业资深老鸟MK:QQ2659153446
3.加入Linux技术交流QQ群:722287089,即可获得以下福利:
①定期分享免费学习资料与视频(工具+笔记+拓展实战)
②10年行业资深老鸟在线答疑:技能+实战+项目分享+高薪就业
③有机会免费领取Linux云计算集群架构师4册书籍
12.2 磁盘分区工具和挂载
12.2.1 硬盘分区符认识
MBR概述:全称为Master Boot Record,即硬盘的主引导记录。
分区编号:主分区1-4 ,逻辑分区5……
分区作用:
主分区:主要是用来启动操作系统的,它主要放的是操作系统的启动或引导程序,/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
命令(输入 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 磁盘分区工具
例:对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
Linux架构师高薪入口:
1.学神IT教育官方网站: http://xuegod.ke.qq.com
2.10年行业资深老鸟MK:QQ2659153446
3.加入Linux技术交流QQ群:722287089,即可获得以下福利:
①定期分享免费学习资料与视频(工具+笔记+拓展实战)
②10年行业资深老鸟在线答疑:技能+实战+项目分享+高薪就业
③有机会免费领取Linux云计算集群架构师4册书籍
12.3 实战扩展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
Linux架构师高薪入口:
1.学神IT教育官方网站: http://xuegod.ke.qq.com
2.10年行业资深老鸟MK:QQ2659153446
3.加入Linux技术交流QQ群:722287089,即可获得以下福利:
①定期分享免费学习资料与视频(工具+笔记+拓展实战)
②10年行业资深老鸟在线答疑:技能+实战+项目分享+高薪就业
③有机会免费领取Linux云计算集群架构师4册书籍
微信公众号:
MK老师微信号:
总结: