当前位置: 首页 > news >正文

存储管理呀

世界太吵,别听,别看,别管,别怕,向前走

一. 存储管理

初识硬盘

机械 HDD
固态 SSD

SSD的优势

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

与传统硬盘相比,SSD固态电子盘具有以下优点:

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

从插拔方式

热插拔
手机卡
非热插拔

从硬盘接口

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

IDE和SATA的区别:

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

SAS与SCSI的区别

1、接口不同;
2、SAS兼容SATA,SCSI不兼容SATA;

当然上面的都不重要

从磁盘分区方式区分

分区的目的:

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

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

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

二.基本分区

  • 首先需要先给关机状态虚拟机添加磁盘
  • 查看磁盘设备。当硬盘已经被添加,但是还没有格式化没有挂载的时候,使用lsblk查看硬盘信息
    lsblk
# lsblk 
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
nvme0n1            259:0    0   30G  0 disk 
├─nvme0n1p3        259:3    0 28.4G  0 part 
│ ├─cl_fedora-swap 253:1    0  2.1G  0 lvm  [SWAP]
│ └─cl_fedora-root 253:0    0 26.3G  0 lvm  /
├─nvme0n1p1        259:1    0  600M  0 part /boot/efi
└─nvme0n1p2        259:2    0    1G  0 part /boot
sr0                 11:0    1 1024M  0 rom  
sda                  8:0    0   10G  0 disk 
├─sda2               8:2    0    1K  0 part 
├─sda5               8:5    0    1G  0 part /up
└─sda1               8:1    0    2G  0 part /top

NAME: 设备的名称
MAJ:MIN 主设备号:次设备号
RM 设备是否可移动。0表示不可移动设备,1表示可移动设备。
RO 设备是否为只读。0表示可读写设备,1表示只读设备。
TYPE TYPE:设备的类型。常见的类型包括disk(硬盘)、part(分区)、rom(只读存储设备)等。

  • 使用 fdisk 进行磁盘分区,也可以使用 gdisk 进行分区
    fdik
# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。命令(输入 m 获取帮助):m
命令操作a   toggle a bootable flag b   edit bsd disklabelc   toggle the dos compatibility flagd   delete a partition           删除一个分区 g   create a new empty GPT partition table  创建一个GPT类型的分区G   create an IRIX (SGI) partition tablel   list known partition typesm   print this menu                      打印菜单n   add a new partition               添加一个新的分区o   create a new empty DOS partition tablep   print the partition table                打印所有分区信息q   quit without saving changes            退出不保存s   create a new empty Sun disklabelt   change a partition's system idu   change display/entry unitsv   verify the partition tablew   write table to disk and exit 退出并保存x   extra functionality (experts only)# 其他的并不是很清楚# 剩下的根据提示进程分区,这里的话,应该简单的很 # 我想一下 第一个应该是选 p # 第二个第三个都选默认# 第四个你看你需要多个 比如我需要 5G大小 则输出 +5G# 最后就是 w 保存退出
  • 创建好分区之后,可以用 lsblk 可以查看到最新添加的分区
# lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
nvme0n1            259:0    0   30G  0 disk 
├─nvme0n1p3        259:3    0 28.4G  0 part 
│ ├─cl_fedora-swap 253:1    0  2.1G  0 lvm  [SWAP]
│ └─cl_fedora-root 253:0    0 26.3G  0 lvm  /
├─nvme0n1p1        259:1    0  600M  0 part /boot/efi
└─nvme0n1p2        259:2    0    1G  0 part /boot
sr0                 11:0    1 1024M  0 rom  
sda                  8:0    0   10G  0 disk 
├─sda2               8:2    0    1K  0 part 
├─sda5               8:5    0    1G  0 part /up
|—sda3               8:3    0    1G  0
└─sda1               8:1    0    2G  0 part /top
  • 格式化分区
    mkfs
mkfs # 双击tap键进行支持的格式
# mkfs.ext4 /dev/sdb1   #格式化成ext4格式的文件系统
# mkfs.xfs /dev/sdc2   #格式化成xfs格式的文件系统
  • 进行挂载
    mount 进行挂载
mount /dev/sda5 /after    # 将 sda5分区挂载到after文件下
mount -a    # 自动挂载

上面虽说挂载好了,但是重新启动的话,将会失去挂载,可在fstab文件中添加配置实现开机自动挂载

  • fstab开机自动挂载
    /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
/dev/mapper/cl_fedora-root                                         /                      xfs     defaults        0 0
UUID=983841e5-d160-4bb7-9764-2d609759b9e8                       /boot                   xfs     defaults        0 0
UUID=2C37-8D68                                                 /boot/efi               vfat    umask=0077,shortname=winnt 0 2
/dev/mapper/cl_fedora-swap                                       none                 swap    defaults        0 0
/dev/sda1                                                    /top xfs defaults 0 0
参数解释:
第1列:挂载设备
(1)/dev/sda5  
(2)UUID=设备的uuid   rhel6/7的默认写法   同一台机器内唯一的一个设备标识
第2列:挂载点
第3列:文件系统类型
第4列:文件系统属性	
第5列:是否对文件系统进行磁带备份:0 不备份
第6列:是否检查文件系统:0 不检查

也可以使用uuid进行挂载
获取分区的的uuid

blkid /dev/sda5
/dev/sda5: UUID="8443647a-7951-4451-a0a5-3d974b30032b" TYPE="xfs" 

uuidgen

uuidgen # 可以获取一个此服务器唯一的id

partprobe /dev/sdb

partprobe /dev/sdb    #更新磁盘分区表,手动让内核更新分区表。不需要重启

gdisk的用法与fdisk的用法差不多一样,区别在于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格式)

查看磁盘挂载与磁盘使用空间

[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 人性化显示,磁盘空间大小

取消挂载 umount

[root@qfedu.com ~]# umount /top
[root@qfedu.com ~]# umount -l /top #强行卸载,即使目录有资源被进程占用,也可以卸载如果发生错误
umount: /top:目标忙。(有些情况下通过 lsof(8) 或 fuser(1) 可以找到有关使用该设备的进程的有用信息)
等等执行下面的指令获取当前执行的进程号,
fuser /top
/top:                 1804c
使用 kill -9 强制杀死进程
kill -9 1804
最后执行取消挂载
umount /top

/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
http://www.lryc.cn/news/163878.html

相关文章:

  • 学习 BeautifulSoup 库从入门到精通
  • JavaScript基础知识总结
  • 技术面试与HR面:两者之间的关联与区别
  • 【Redis】为什么要学 Redis
  • 动静态库生成使用
  • LLVM编译安装
  • 表的内连接和外连接
  • 三、C#—变量,表达式,运算符(3)
  • 纷享销客受邀出席CDIE2023数字化创新博览会 助力大中型企业增长
  • linux下qt交叉编译 tslib 库
  • 2.13 PE结构:实现PE代码段加密
  • Rust更换Cargo国内源,镜像了寂寞
  • 【网络安全带你练爬虫-100练】第23练:文件内容的删除+写入
  • ESP32蓝牙实例-BLE服务器与客户端通信
  • 第11章_瑞萨MCU零基础入门系列教程之SysTick
  • 【面试题精讲】如何使用Stream的聚合功能
  • Linux 中的 chmod 命令及示例
  • sannaing i14 pro max使用体验
  • Shazam音乐检索算法原理及实现
  • vue递归组件
  • 软件测试/测试开发丨测试用例自动录入 学习笔记
  • 来学Python啦,大话字符串
  • pyqt5设置背景图片
  • C# WPF 自己写的一个模拟病毒传播的程序,有可视化
  • stable diffusion实践操作-大模型介绍-SDXL1大模型
  • 软考高级系统架构设计师系列案例考点专题四:嵌入式系统
  • Django Form实现表单使用及应用场景
  • golang面试题:json包变量不加tag会怎么样?
  • 国内项目管理中级证书CSPM-3正在报名!
  • vue表格不显示列号123456