省流助手: 刷新:scan、partprobe、mount -a
alias scan='echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" >
/sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan'
设置一个别名,将硬件刷新的过程直接赋予给别名,方便后续使用
fdisk /dev/sd.. gdisk /dev/sd.. linux——83/8300 swap——82/8200
lsblk 查看 fdisk /dev/sd.. -p查看
mkfs.xfs /dev/sd.. mkswap /dev/sd.. -----格式化
mount /存储设备 /挂载点目录/ umount 取消挂载
磁盘:
盘片:硬盘有多个盘片,每盘片有2面(正反两面)
永磁铁:机械硬盘的存储方式与磁带比较类似,磁体具有记忆的功能,永磁铁是为了保证磁性的稳定。
主轴:保证电机稳定的转动,磁盘转动才能读出数据。
空气过滤片:过滤空气硬盘透气孔中进入的空气,保证硬盘内部清洁,同时还可以防止硬盘内部的零件氧化,确保硬盘安全使用。
磁盘:硬盘一般都是铝合金制作的,主要是用来存储文件的。
磁头:使用来读取盘片上的信息
全局唯一标识分区表(GUID Partition Table,缩写:GPT)
GPT是一个实体硬盘的分区结构。它是可扩展固件接口标准的一部分,用来替代BIOS中的主引导记录分区表。 传统的主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区。
与MBR分区方法相比,GPT具有更多的优点,因为它允许每个磁盘有多达128个分区,支持高达18EB(千兆兆字节)的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。
硬盘接口类型
IDE:并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被SATA所取代。
SATA:抗干扰性强,支持热插拔等功能,速度快,纠错能力强。
SCSI:小型机系统接口,SCSI 硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等。
SAS:是新一代的SCSI 技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s
服务器硬盘大小
LFF:3.5寸,一般见到的那种台式机硬盘的大小
SFF:Small Form Factor 小形状因数,2.5寸,注意不同于2.5寸的笔记本电脑
L、S分别是大小的意思,目前服务器或者盘柜采用sff规格的硬盘主要是考虑增大单位密度的磁盘容量、增强散热、减小功耗。
机械与固态
机械硬盘(HDD):Hard Disk Drive,即是传统普通硬盘,主要由:盘片、磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。机械硬盘中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直径还小,所有的磁头连在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。数据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也可以通过相反方式读取。硬盘为精密设备,进入硬盘的空气必须过滤。
固态硬盘(SSD):Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也与普通硬盘一致。
相较于HDD,SDD在防震抗摔、传输速率、功耗、重量、噪音上有明显优势,SDD传输速率性能是HDD的2倍。
相较于SSD,HDD在价格、容量占有绝对优势。
硬盘有价,数据无价,SSD不能完全取代HHD。
Device (设备) :分区的设备文件名称。
Boot:是否是引导分区。若是,则有"*"标识。
Start:该分区在硬盘中的起始位置(柱面数)
End:该分区在硬盘中的结束位置(柱面数)
Blocks:分区的大小,以Blocks (块)为单位,默认的块大小为1024字节。
Id:分区对应的系统 ID 号。例如,83表示Linux中的XFS分区或EXT4分区、82代表交换文件系统、8e表示LVM逻辑卷。
MBR与磁盘分区表示
主引导记录(MBR:Master Boot Record)
MBR位于硬盘第一个物理扇区处
MBR中包含硬盘的主引导程序和硬盘分区表
分区表有4个分区记录区,每个分区记录区占16个字节。
Linux中将硬盘、分区等设备均表示为文件
/dev/hda5
分区的原因:
优化I/O性能
实现磁盘空间配额限制
提高修复速度
隔离系统和程序
安装多个os
采用不同文件系统
分区的优点:
便于管理
优化读写性能
分区的缺点:
一旦建立无法修改,如果要修改,只能推导重建,重新格式化,数据丢失
不够灵活 ,空间只能来自于一块硬盘,并且必须是连续的空间
没有备份冗余功能,没有备份,需要依靠工程师手动备份
alias scan='echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" > /sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan'
设置一个别名,将硬件刷新的过程直接赋予给别名,方便后续使用
fdisk
交互模式中的常用指令
m、p、 n、 d、 t、 w、q
m:获取帮助菜单
n:新建分区
p:查看分区情况
d:删除分区
t:变更分区的类型
w:保存分区操作并退出
q:不保存分区操作并退出
1.若磁盘小于2TB,可用fdisk /dev/sdb 进行分区,即MBR 分区格式
2.若磁盘大于2TB,可用parted /dev/sdb 进行分区,因为MBR分区磁盘是不能大于2.2TB,所以超过2TB一般使用GPT
分区格式
管理磁盘分区:
fdisk /dev/sdb
交互模式中的常用指令:
m:获取帮助菜单
n:新建分区
p:查看分区情况
d:删除分区
t:变更分区的类型
w:保存分区操作并退出
q:不保存分区操作并退出
创建分区步骤
n
--> p 主分区、e 扩展分区、l 逻辑分区
--> 设置分区:1 (范围1-4,如按 Enter 键接受默认值)
--> 设置柱面序列:直接按 Enter 键接受默认值
--> 设置分区大小:+20G (指定大小为 20GB,如按 Enter 键接受默认值表示所有空间)
变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行“partprobe”命令使操作系统检测新的分区表情况。以防格式化分区时损坏硬盘中已有的数据。(刷新)
命令格式:mkfs -t 文件系统类型 分区设备
mkfs.文件系统类型 分区设备
示例: mkfs -t xfs /dev/sdb1
mkfs.xfs /dev/sdb1
创建交换文件系统-------mkswap
命令格式:mkswap 分区设备
创建交换文件系统
创建swap之前,目标分区应先通过fdisk 工具将分区类型ID 号设为 82
fdisk /dev/sdb
-->t
-->2
-->82
mkswap /dev/sdb5 #格式化交换分区
swapon /dev/sdb5#启用新增加的交换分区
swapoff /dev/sdb5#停用指定的交换分区
swapon -s #查看每个分区的swap状态信息
free -m#查看总的swap状态信息
挂载前先格式化
挂载文件系统、ISO镜像到指定文件夹
mount [-t 类型] 存储设备 挂载点目录
-t:用于指定文件系统类型,通常可以省略,由系统自动识别
-o:挂载参数列表,以英文逗号分隔;如用来描述特殊设备,用loop指定
挂载文件系统
mkfs.[类型] /挂载位置 ------格式化
mount /存储设备 /挂载点目录/
[root@localhost ~]# mkfs.xfs /dev/sdb3
meta-data=/dev/sdb3 isize=512 agcount=4, agsize=327616 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1310464, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mount /dev/sdb3 /opt/xxx/
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 300M 0 part /boot
├─sda2 8:2 0 3G 0 part [SWAP]
└─sda3 8:3 0 46.7G 0 part /
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 10G 0 part
├─sdb2 8:18 0 1K 0 part
└─sdb3 8:19 0 5G 0 part /opt/xxx
sr0 11:0 1 54M 0 rom
sr1 11:1 1 4.2G 0 rom /run/media/richard/CentOS 7 x86_64
mount -a 刷新挂载
卸载已挂载的文件系统
卸载前提:挂载的设备或者目录没有被在使用中,要先退出挂载目录
umount [-lf] 存储设备目录或者挂载点目录
-l 表示解除正在繁忙的文件系统
-f 表示强制
查看磁盘使用情况
1.直接 mount 命令
从后往前删逻辑分区不会出现,从前往后删,会出现问题
挂载的时候使用UUID进行挂载
2. df [选项]
-h:显示分区的容量单位
-T:显示文件系统的类型
-i:显示分区的inode号码数量
自动挂载:
vim /etc/fstab
/dev/sdb1 /opt xfs defaults 0 0
/dev/sr0 /mnt iso9660 defaults 0 0
| 选项 | 功能 |
| ----------- | ------------------------------------------------------------ |
| rw/ro | 是否对挂载的文件系统拥有读写权限,rw 为默认值,表示拥有读写权限;ro 表示只读权限。 |
| async/sync | 此文件系统是否使用同步写入(sync)或异步(async)的内存机制,默认为异步 async。 |
| dev/nodev | 是否允许从该文件系统的 block 文件中提取数据,为了保证数据安装,默认是 nodev。 |
| auto/noauto | 是否允许此文件系统被以 mount -a 的方式进行自动挂载,默认是 auto。 |
| suid/nosuid | 设定文件系统是否拥有 SetUID 和 SetGID 权限,默认是拥有。 |
| exec/noexec | 设定在文件系统中是否允许执行可执行文件,默认是允许。 |
| user/nouser | 设定此文件系统是否允许让普通用户使用 mount 执行实现挂载,默认是不允许(nouser),仅有 root 可以。 |
| defaults | 定义默认值,相当于 rw、suid、dev、exec、auto、nouser、async 这 7 个选项。 |
| remount | 重新挂载已挂载的文件系统,一般用于指定修改特殊权限。 |v
该数字决定在系统启动时进行磁盘检查的顺序。0 表示不进行检查,1 表示优先检查,2 表示其次检查。根分区应设为 1,其他分区设为 2。
了解一下:
parted:
操作实例:
1、选择分区硬盘
首先类似fdisk一样,先选择要分区的硬盘,此处为/dev/hdd: ((parted)表示在parted中输入的命令,其他为自动打印的信息)
# parted /dev/hdd
GNU Parted 1.8.1
Using /dev/hdd
Welcome to GNU Parted! Type 'help' to view a list of commands.
2、创建分区
选择了/dev/hdd作为我们操作的磁盘,接下来需要创建一个分区表(在parted中可以使用help命令打印帮助信息):
(parted) mklabel
New disk label type? gpt #我们要正确分区大于2TB的磁盘,应该使用gpt方式的分区表,输入gpt后回车
3、完成分区操作
创建好分区表以后,接下来就可以进行分区操作了,执行mkpart命令,分别输入分区名称,文件系统和分区 的起止位置
(parted) mkpart
Partition name? []? dp1
File system type? [ext2]? ext4
Start? 0 (可以用百分比表示,比如Start? 0% , End? 50%)
End? 500GB
4、验证分区信息
分好区后可以使用print命令打印分区信息,下面是一个print的样例
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 500GB 500GB dp1
5、删除分区示例
如果分区错了,可以使用rm命令删除分区,比如我们要删除上面的分区,然后打印删除后的结果
(parted) rm 1 #rm后面使用分区的号码,就是用print打印出来的Number
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
6.格式化操作,完成后即可挂载使用
# mkfs.ext4 /dev/hdd1
# mkdir /data
# mount /dev/hdd1 /data
7.最后加入/etc/fstab自动挂载
# vi /etc/fstab
/dev/sdd1 /data ext4 defaults 0 0