Linux硬盘管理
一、三大基本的存储架构
1.直接附加的存储DAS
Linux 支持种类繁多的 DAS 界面,包括像并行高级技术附件的旧标准 — 电子集成驱动器 IDE/ATA — 并行 SCSI 和光纤通道以及新的存储界面,例如串行连接的 SCSI 、串行 ATA 和外部 SATA 。您还将发现高级存储技术,例如 USB3(可扩展的主机控制器界面) 和 Firewire 。
2.存储区域网络SAN
SAN 提供块级存储合并,以便在一些服务器中共享它。存储对服务器显示为是本地的,其中端点存储设备可以为客户端设备实现附加服务(例如备份和复制)。
SAN 的协议和界面是广泛和多样的。可以在 Linux 中发现典型的 SAN 协议,例如光纤通道以及其通过 IP 的扩展 (iFCP)。还存在更新的协议,例如 SAS、以太网光纤通道以及 iSCSI 。
作为存储协议出现的以太网已经在 Linux 中完全实现,其说明了这些方法的力量和灵活性。
Linux 完全支持 10 千兆位以太网,并允许构造高性能 SAN 。
3.网络附加存储NAS
NAS 是通过网络的存储合并,以便不同类型客户端在文件级别进行访问。Linux 中完全支持的两种最流行协议是网络文件系统 NFS 和服务器消息块/通用互联网文件系统 SMB/CIFS 。
虽然原始的 SMB 实现是专有的,但是它被逆向设计以便在 Linux 中受到支持。后来的 SMB 修订版被公开记录以便允许在 Linux 中进行更简单的开发。
Linux 继续发展针对 NFS 的各种增强和扩展。 NFS 现在是一个状态协议并包括对数据和元数据分离的优化以及数据访问并行。
二、fdisk的使用
1.基本介绍
fdisk 是 Linux 中常用的硬盘管理工具,是一个创建和维护分区表的程序,它兼容 DOS 类型的分区表、BSD 或者 SUN 类型的磁盘列表。
fdisk 是常用的 Linux 系统分区工具,使用 fdisk 可以对硬盘分区进行各种操作,可以创建、编辑、删除和显示硬盘分区。
2.下载
在Ubuntu上安装fdisk命令
sudo apt-get -y install fdisk
在CentOS上安装fdisk命令
sudo yum -y install fdisk
3.具体使用
语法:fdisk (选项) (参数)
选项:
- -b:<分区大小>:指定每个分区的大小;
- -l:列出指定的外围设备的分区表状况;
- -s:<分区编号>:将指定的分区大小输出到标准输出上,单位为区块;
- -u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址;
- -v:显示版本信息。
- -x:扩展应用,高级功能
- -m:显示菜单和帮助信息
- q:退出不保存
- p:显示分区信息
- -a:活动分区标记/引导分区
- -t:设置分区号,更改分区类型
- -v:版本信息
- w:保存修改,将分区表写入磁盘
- -d :删除分区
- -n:新建分区
4.例子展示:
3.1对新增加的硬盘进行分区
根据上图,可以看到目前sdb并没有进行分区,也没有被使用过,二硬件sda已经被使用了,而硬盘sda已经被使用。
在Linux系统中dev是设备 (device) 的英文缩写,在Linux系统中将设备认为一个文件,故在目录dev中可以看到sda以及sdb,在Linux系统中/dev/sda 指的是第一块硬盘, /dev/sdb 指的是第二块硬盘,
可以直接适用fdisk /dev/sdb 对硬盘 sdb 进行操作。
3.2输入 m 列出可以执行的命令
3.3输入 n 可以建立新的磁盘分区:
3.4选择 p 建立主分区,主分区最多可以建四个。
- Partition number 选择分区号,可以不输入直接使用默认的分区号,
- First sector 指的是选择分区的起始位置,可以直接回车选择默认的分区号,
- Last sector 指的是选择结尾的扇区,也可以直接输想创建的分区的大小加单位。
3.5创建完成之后要输入 w 保存,否则系统不会对硬盘进行操作,保存之后会自动退出程序。
3.6保存之后可以继续使用 fdisk 命令查看分区情况。
注意:在创建完分区后是不能直接使用的,必须格式化后才能使用。
4.格式化磁盘
通过GUI在Linux格式化磁盘- gparted
要在 Ubuntu、Debian 和 Linux Mint 上安装 gparted:
sudo apt install gparted
要在 Fedora、CentOS、AlmaLinux 和 Red Hat 上安装 gparted:
sudo dnf install gparted
要在 Arch Linux 和 Manjaro 上安装 gparted:
sudo pacman -S gparted
挂载磁盘前我们需要先格式化文件
mkfs.xfs /etc/sdb1 --l绿色部分为要格式化的文件。
三、mkfs的使用
1.作用
mkfs 命令用于在特定的分区上建立 linux 文件系统
mkfs 本身并不执行建立文件系统的工作,而是去调用相关的程序来执行。
mkfs 命令通常用于在设备硬件分区上创建 linux 文件系统。mkfs 命令支持建立多种 Linux 文件系统,如 ext 系列,xfs 等等。实际上 mkfs 是支持多种文件系统构建命令 mkfs. TYPE 的前部分,mkfs 命令通常执行的时候也是调用mkfs. TYPE 来执行,如 mkfs.ext2, mkfs.ext3, mkfs.ext4,mkfs.vfs,mkfs.vfat 等等。
2.使用
使用格式:
mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
参数:
- device: 预备检查的硬盘分区,例如:/dev/sda1
- -V:详细显示模式
- -t:给定档案系统的型式,Linux 的预设值为 ext2
- -c:在制做档案系统前,检查该 partition 是否有坏轨
- -l bad_blocks_file:将有坏轨的 block 资料加到 bad_blocks_file 里面
3.例子
将新创建的分区格式化为 exit4 格式:
注意:只有将创建的分区格式化之后才能够使用,否则创建的分区是不能使用的,经过格式化之后的分区虽然可以使用了,但是这个分区格式化后需要挂载到一个文件才能够使用。必须将分区格式化再挂载。
四、相关问题:
- mkfs本身执行建立文件系统的工作吗?
- 不执行
- 执行
- 将 /dev/sda1 格式化成 ext4 格式的命令是 mkfs.ext4 /dev/sda1
- 对
- 错
- 用 mkfs 命令将 /dev/sdb2 格式化成 ext3 格式分区的命令是()。
- fdisk /dev/sdb2
- mkfs.ext4 /dev/sdb2
- mount/dev/sdb2
- mkfs.ext3 /dev/sdb2
- 使用 mkfs 命令可以将分区格式化成哪些格式?
- ext2
- xfs
- ext4
- txt
- 如果想只查看Linux中Centos系统新增加的硬盘sdb的分区情况该使用什么命令?
- fdisk -l
- fdisk sdb
- fdisk /dev/sdb
- fdisk /dev/sda
- fdisk的功能是()。
- 建立DOC分区或逻辑分区
- 格式化分区
- 删除DOC分区或逻辑分区
- 显示分区信息
- 下列关于fdisk命令,说法正确的是()。
- 管理所有分区,并能格式化各个分区
- 能够创建所有分区,并能格式化各个分区
- 能够创建所有分区,不能格式化各个分区
- 只能创建主分区,在window中格式化化除 主分区以外的各分区
- 使用fdisk创建好分区之后直接退出就可以了
A. 对
B. 错
- 直接附加存储指的是( ),存储区域网络指的是( ),网络附加存储指的是( )
- DAS,SAN,NAS
- SAN,DAS,NAS
- NASA,SAN,DAS
- NAS 是通过网络的存储合并,以便不同类型客户端在()级别进行访问。
- 硬件
- 系统
- 文件
答案
1.A
2.A
3.D
4.ABC
5.A
6.ACD
7.AC
8.B
9.A
10.C
五、挂载硬盘—没数据的磁盘
挂载需要将硬盘挂载在挂载点上(一个文件夹),但是mount并不会创建文件夹,所以在使用mount命令之前首先创建挂载点
mkdir /mnt/storage
将新分区 /dev/vdb1 挂载到/mnt/storage挂载点下
mount /dev/vdb1 /mnt/storage/
mount 新分区 挂载点
查看是否挂载成功
mount
设置自动挂载
磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载。系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘。这样我们只需要将磁盘的挂载信息写入这个文件中我们就不需要每次开机启动之后手动进行挂载了。
首先通过blkid命令将分区的uuid查询出来并复制uuid(往/etc/fstab中追加挂载信息时建议使用uuid)
然后修改/etc/fstab文件,本文直接vim命令修改(文本之间一定要有空格),也可以用echo命令
vim /etc/fstab
将下面的文本添加进去
保存修改,然后重启系统
reboot
重启之后查看磁盘信息
mount
若其中有vdb1的挂载信息,证明自动挂载成功。