存储管理一

发布于 2023-11-29  61 次阅读


 不经一番寒彻骨,怎得梅花扑鼻香。

千 锋 云 计 算 学 院

一 .存储管理

主要知识点: 基本分区、逻辑卷LVM、EXT3/4/XFS文件系统、RAID

1.1.初识硬盘

 机械 HDD
 固态 SSD

HDD内部结构

机械硬盘(HDD)是一种存储设备,使用旋转磁盘和读/写磁头来存储和检索数据。以下是机械硬盘的基本结构:

  1. 盘片(Platters):机械硬盘通常由多个盘片组成,每个盘片都是一个圆形的金属或玻璃基板,上面涂有磁性材料。
  2. 磁头(Read/Write Heads):每个盘片都有两个磁头,一个用于读取数据,另一个用于写入数据。磁头位于盘片上方和下方,通过磁性浮动臂和驱动器来移动。
  3. 磁道(Tracks):盘片被划分为多个同心圆轨道,称为磁道。每个磁道可以存储一定量的数据。
  4. 扇区(Sectors):每个磁道被划分为多个扇区,每个扇区可以存储固定大小的数据块,通常为512字节。
  5. 主轴(Spindle):盘片通过主轴连接在一起,并由电机驱动主轴旋转。通常,硬盘的转速以每分钟转数(RPM)来表示,如5400 RPM、7200 RPM或10000 RPM。
  6. 磁头臂(Actuator Arm):磁头臂是一个可移动的机械臂,上面安装有磁头。它通过电机和控制器的控制,可以在盘片上移动磁头。
  7. 磁头定位器(Head Positioner):磁头定位器负责精确定位磁头在盘片上的位置。它使用电磁力将磁头臂移动到正确的磁道上。
  8. 控制器(Controller):硬盘的控制器是一个电子设备,负责控制硬盘的操作。它管理磁头的移动、数据的读写、错误检测和纠正等功能。

当计算机需要读取或写入数据时,控制器将指令发送给磁头臂和磁头,使其移动到正确的位置,并在磁道上读取或写入数据。机械硬盘的工作原理基于磁性材料的磁化和反磁化过程,通过改变磁场的方向来存储和检索数据。然而,由于机械硬盘使用机械部件进行数据访问,因此速度较慢,且容易受到物理冲击和震动的影响。

SSD的优势 SSD采用电子存储介质进行数据存储和读取的一种技术,拥有极高的存储性能,被认为是存储技术发展的未来新星。
 内存直接当成硬盘使用

与传统硬盘相比,SSD固态电子盘具有以下优点: 第一,SSD完全的半导体化,不存在数据查找时间、延迟时间,数据存取速度快。
 第二,SSD全部采用闪存芯片,经久耐用,防震抗摔,即使发生与硬物碰撞,数据丢失的可能性也能够降到最小。  
 第三,得益于无机械部件及闪存芯片,SSD没有任何噪音,功耗低。 
 第四,质量轻,比常规1.8英寸硬盘重量轻20-30克,使得便携设备搭载多块SSD成为可能。

硬盘尺寸 3.5寸 2.5寸 1.8寸

image-20191107225227973
image-20191107225238759
image-20191107225300857

从插拔方式 热插拔 手机卡
 非热插拔

从硬盘接口 IDE(已经淘汰---也叫ATA)
 SATA (Serial ATA),是当前主流的一种硬盘接口  
 SCSI(小型计算机的接口--很少了)
 SAS代替了scsi (Serial Attached SCSI),当前SAS接口居多

image-20191107230504198

IDE和SATA的区别: 1、接口不同,传输的速率不同。IDE根据规范,最高到133MB/s, 而SATA3.0,可达6Gb/S,速度差距巨大。
 2、SATA支持热插拔。

SAS与SCSI的区别 1、接口不同;
 2、SAS兼容SATA,SCSI不兼容SATA;

硬盘设备命名 物理硬盘:   /dev/sd[a-z]
 ​
 KVM虚拟化:
 /dev/vd[a-z](半虚拟化驱动)
 /dev/sd[a-z](全虚拟化驱动)

1.2从磁盘分区方式区分

分区的目的:

文件分类。将一块硬盘分成几个小块。用来根据使用存放不同的文件

一块硬盘最多可以分多少个分区 65535

 MBR格式
 分区命令:fdisk  
 一共可以分14个分区(4个主分区,扩展分区,逻辑分区) 例如: 3主 + 1扩展(n逻辑)
 MBR 小于2TB的硬盘。
 一块硬盘最多分4个主分区。
 一块硬盘可以直接划分4个主分区,也可以划分3个主分区和一个扩展分区,扩展分区下面可以划分多个逻辑分区 GPT格式
 分区命令:gdisk(parted---rhel6)
 一共可以分128个主分区
 GPT大于小于2TB都可以。最大可以多大,超过目前硬件可以支撑的硬盘大小
 #注意:从MBR转到GPT,或从GPT转换到MBR会导致数据全部丢失!因为转换格式要格式化硬盘

image-20191107231317541

二.基本分区

首先需要先给关机状态虚拟机添加磁盘[root@qfedu ~]# ll /dev/sd*
 brw-rw---- 1 root disk 8, 0 7月 19 17:30 /dev/sda
 brw-rw---- 1 root disk 8, 1 7月 19 17:30 /dev/sda1
 brw-rw---- 1 root disk 8, 2 7月 19 17:30 /dev/sda2
 brw-rw---- 1 root disk 8, 3 7月 19 17:30 /dev/sda3
 brw-rw---- 1 root disk 8, 16 7月 19 17:35 /dev/sdb
[root@qfedu.com ~]# lsblk #查看磁盘设备。当硬盘已经被添加,但是还没有格式化没有挂载的时候,使用lsblk查看硬盘信息
[root@qfedu ~]# lsblk
 NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
 sda     8:0   0   20G 0 disk
 ├─sda1   8:1   0   1G 0 part /boot
 ├─sda2   8:2   0   2G 0 part [SWAP]
 └─sda3   8:3   0   17G 0 part /
 sdb     8:16   0   20G 0 disk
 sr0     11:0   1 973M 0 rom  
 ​
 NAME: 设备的名称
 MAJ:MIN 主设备号:次设备号
 RM 设备是否可移动。0表示不可移动设备,1表示可移动设备。
 RO 设备是否为只读。0表示可读写设备,1表示只读设备。
 TYPE TYPE:设备的类型。常见的类型包括disk(硬盘)、part(分区)、rom(只读存储设备)等。

2.1.fdisk

MBR 14个分区(4个主分区,扩展分区,逻辑分区) [root@qfedu.com ~]# fdisk -l /dev/sdb #查看磁盘分区信息
 [root@qfedu ~]# fdisk /dev/sdb
 欢迎使用 fdisk (util-linux 2.23.2)。
 ​
 更改将停留在内存中,直到您决定将更改写入磁盘。
 使用写入命令前请三思。
 ​
 Device does not contain a recognized partition table
 使用磁盘标识符 0x5a666cd7 创建新的 DOS 磁盘标签。
 #DOS磁盘标签就是MBR格式
 m 查看帮助
 n 新建分区
 命令(输入 m 获取帮助): n
 Partition type:
    p   primary (0 primary, 0 extended, 4 free)
    e   extended
 默认回车
 设置主分区大小创建主分区,然后
 Command (m for help): p  ---打印分区信息
 创建扩展分区
 Command (m for help): n
 Partition type:
    p   primary (1 primary, 0 extended, 3 free)
    e   extended
 Select (default p): e
 #注意:扩展分区将剩下的空间全部给了。一路回车即可
 创建逻辑分区
 Command (m for help): n
 Partition type:
    p   primary (1 primary, 1 extended, 2 free)
    l   logical (numbered from 5)
 Select (default p): l   创建逻辑分区
 Adding logical partition 5
 First sector (208896-20971519, default 208896):
 Using default value 208896
 Last sector, +sectors or +size{K,M,G} (208896-20971519, default 20971519): +5G #指定大小
 Partition 5 of type Linux and of size 5 GiB is set
 Command (m for help): w   --保存退出
 [root@qfedu.com ~]# partprobe /dev/sdb   #更新磁盘分区表,手动让内核更新分区表。不需要重启
 [root@qfedu.com ~]# lsblk #查看磁盘设备

image-20191108095711673

 命令(输入 m 获取帮助): n
 Partition type:
    p   primary (0 primary, 0 extended, 4 free)
    e   extended
 Select (default p): p
 分区号 (1-4,默认 1):
 起始 扇区 (2048-41943039,默认为 2048):
 将使用默认值 2048
 Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G
 分区 1 已设置为 Linux 类型,大小设为 2 GiB
 ​
 命令(输入 m 获取帮助):p
 ​
 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
 Units = 扇区 of 1 * 512 = 512 bytes
 扇区大小(逻辑/物理):512 字节 / 512 字节
 I/O 大小(最小/最佳):512 字节 / 512 字节
 磁盘标签类型:dos
 磁盘标识符:0x5a666cd7
 ​
    设备 Boot     Start         End     Blocks   Id System
 /dev/sdb1            2048     4196351     2097152   83 Linux
 ​
 命令(输入 m 获取帮助):w
 The partition table has been altered!
 ​
 Calling ioctl() to re-read partition table.
 正在同步磁盘。

2.2 gdisk

GPT 128个主分区 转格式的时候保证此分区,没有被系统占用。
 [root@qfedu.com ~]# parted -s /dev/sdc mklabel gpt   #将/dev/sdc(MBR格式)转换成(GPT格式)
 [root@qfedu.com ~]# parted -s /dev/sdc mklabel msdos #将/dev/sda(GPT格式)转换成(MBR格式)

1.创建分区 [root@qfedu.com ~]# yum -y install gdisk #安装分区工具
 [root@qfedu.com ~]# gdisk -l /dev/sdc
 [root@qfedu.com ~]# gdisk /dev/sdc
 Command (? for help): n --创建分区
 Partition number (1-128, default 1):
 First sector (34-16777182, default = 2048) or {+-}size{KMGTP}:
 Last sector (2048-16777182, default = 16777182) or {+-}size{KMGTP}: +100M
 Current type is 'Linux filesystem'
 Hex code or GUID (L to show codes, Enter = 8300):     ---直接回车
 Command (? for help): p   --打印分区信息
 Command (? for help): w   ---保存
 Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
 PARTITIONS!!
 Do you want to proceed? (Y/N): y   是否覆盖是
 OK; writing new GUID partition table (GPT) to /dev/sdc.
 The operation has completed successfully.
 [root@qfedu.com ~]# partprobe /dev/sdc #刷新分区表
 [root@qfedu.com ~]# gdisk -l /dev/sdc
 [root@qfedu.com ~]# lsblk

image-20191108102214093

2.创建文件系统(格式化)centos7默认使用xfs [root@qfedu.com ~]# mkfs.ext4 /dev/sdb1   #格式化成ext4格式的文件系统
 [root@qfedu.com ~]# mkfs.xfs /dev/sdc2   #格式化成xfs格式的文件系统

3.挂载mount使用 [root@qfedu.com ~]# mkdir /mnt/disk1   #创建挂载目录
 [root@qfedu.com ~]# mkdir /mnt/disks   #创建挂载目录
 [root@qfedu.com ~]# mount /dev/sdb1 /mnt/disk1/
 [root@qfedu.com ~]# mount /dev/sdc2 /mnt/disks/

查看磁盘挂载与磁盘使用空间 [root@qfedu.com ~]# df -Th
 Filesystem             Type     Size Used Avail Use% Mounted on
 /dev/mapper/centos-root xfs       17G 1.2G   16G   7% /
 devtmpfs               devtmpfs 982M     0 982M   0% /dev
 tmpfs                   tmpfs     993M     0 993M   0% /dev/shm
 tmpfs                   tmpfs     993M 8.7M 984M   1% /run
 tmpfs                   tmpfs     993M     0 993M   0% /sys/fs/cgroup
 /dev/sda1               xfs     1014M 125M 890M 13% /boot
 tmpfs                   tmpfs     199M     0 199M   0% /run/user/0
 /dev/sdb1               ext4     283M 2.1M 262M   1% /mnt/disk1
 /dev/sdc2               xfs       197M   11M 187M   6% /mnt/disks
 参数解释:
 -T 打印文件系统类型
 -h 人性化显示,磁盘空间大小

取消挂载 [root@qfedu.com ~]# umount /mnt/disks/
 [root@qfedu.com ~]# umount -l /mnt/disk1/ #强行卸载,即使目录有资源被进程占用,也可以卸载

三、fstab开机自动挂载

3.1./etc/fstab文件实现开机的时候自动挂载 [root@qfedu.com ~]# blkid /dev/sdb1 #查看uuid和文件系统类型
 /dev/sdb1: UUID="d1916638-bd0a-4474-8051-f788116a3a92" TYPE="ext4"
 [root@qfedu.com ~]# vim /etc/fstab
 参数解释:
 第1列:挂载设备
 (1)/dev/sda5  
 (2)UUID=设备的uuid   rhel6/7的默认写法   同一台机器内唯一的一个设备标识
 第2列:挂载点
 第3列:文件系统类型
 第4列:文件系统属性
 第5列:是否对文件系统进行磁带备份:0 不备份
 第6列:是否检查文件系统:0 不检查

image-20191108154554145

 [root@qfedu.com ~]# mount -a #自动挂载

实战二 [root@qfedu.com ~]# vim /etc/fstab
 /dev/sdc2       /mnt/disks     xfs     defaults       0 0
 [root@qfedu.com ~]# mount -a

3.2/etc/rc.d/rc.local开机自动挂载 这个配置文件会在用户登陆之前读取,这个文件中写入了什么命令,在每次系统启动时都会执行一次。也就是说,如果有任何需要在系统启动时运行的工作,则只需写入 /etc/rc.d/rc.local 配置文件即可 [root@qfedu.com ~]# vim /etc/rc.d/rc.local #将挂载命令直接写到文件中
 date >> /tmp/host_start.txt
 mount /dev/sdb1 /mnt/disk1/
 mount /dev/sdc1 /mnt/disk2/
 [root@qfedu.com ~]# chmod +x /etc/rc.d/rc.local #添加执行权限
 [root@qfedu.com ~]# reboot

千 锋 云 计 算 学 院

文件系统

一、文件系统分类

1.1分类

 分类:
 本地文件系统,不能在网络上用。
 ntfs xfs ext2,ext3,ext4 fat32
 网络文件系统,也可以在本地用。
 nfs   glusterfs   hdfs   ceph

1.2概念

 作用:
 管理文件的一套系统。
 文件的编辑,拷贝,粘贴,移动。
 ​
 #理解inode:
 inode :inoed块、i节点--索引节点。专门存储inode信息。也就是是文件的属性-(也叫元信息).它是文件或目录在磁盘里的唯一标识,linux读取文件首先要读取到这个索引节点,每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。

inode的内容

 文件的字节数
 文件拥有者的User ID
 文件的Group ID
 文件的读、写、执行权限
 文件的时间戳,共有三个:ctime,mtime,atime。
 链接数,即有多少文件名指向这个inode
 ​
 ​

查看inode信息 [root@qfedu.com ~]# stat /etc/hosts
  File: ‘/etc/hosts’
  Size: 158             Blocks: 8         IO Block: 4096   regular file
 Device: fd00h/64768d   Inode: 16778306   Links: 1
 Access: (0644/-rw-r--r--) Uid: (   0/   root)   Gid: (   0/   root)
 Access: 2020-07-28 19:11:48.781000069 +0800
 Modify: 2013-06-07 22:31:32.000000000 +0800
 Change: 2020-07-18 15:37:52.353025437 +0800
  Birth: -

 [root@qfedu.com ~]# ls -i /etc/hosts #-i:查看inode号
 16778306 /etc/hosts

1.3.EXT

 EXT 家族支持度最广:andirons
 但创建文件系统(格式化)慢!
 修复慢!
 文件系统存储容量有限!

1.4.XFS

 XFS 同样是一种日志式文件系統:
 高容量,支持大存储
 高性能,创建/修复文件系统快
 格式化快

作业 添加磁盘进行分区

千 锋 云 计 算 学 院

届ける言葉を今は育ててる
最后更新于 2023-11-29