第七天:磁盘存储、分区和文件系统

一、磁盘结构
1、设备放在/dev文件下面
  硬盘:sda nvme
  虚拟:xvd vd
  mknod :创建设备
2、硬盘类型
  接口类型:IDE SCSI SATA SAS USB M.2
  机械硬盘和固态硬盘
3、open(),read(),write(),close()
  文件操作
二、分区类型
设备分区、创建文件系统、挂载新的文件系统
1、MBR
  使用32位表示扇区数,分区 不超过2T以上
  一块硬盘最多有4个主分区
  备份MBR分区表 :dd if=/dev/sda/mbr of= /data/dpt.img bs=1 count=64 skkip=446
     
2、GPT
  支付128个分区,容量:8Z
3、BIOS 和UEFI
  BIOS:基本输入输出系统,早期的主板程序
  UEFI:统一可扩展接口
三、管理分区
1、列出块设备:lsblk
2、创 命令
  fdisk 管理MBR分区1,CENTOS8支持GPT
  gdisk 管理GPT 分区
  parted 高级分区操作,可以是交互或非交互方式
3、 fdisk
  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)
4、gdisk
  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
5、如已建分区,再分一个分区 ,需要同步下,才能真正使用新分区:partprobe
四、管理文件系统:mkfs
1、linux 常用的文件系统
  ext2 适用于分区容量不是很大,更新也不频繁的情况 ,例如/boot wvaq
  ext3 是ext2的改进版本
  ext4 是ext文件系统的最新版,最大1EB
  xfs SGI,支持最大8EB的文件系统
  swap
  iso9660
  btrfs
  reiserfs
查看内核支持的文件系统:ls /lib/modules/`uname -r`/kernel/fs
2、创建文件系统
  用法:
    mkfs [选项] [-t <类型>] [文件系统选项] <设备> [<大小>]
  选项:
    -t, --type=<类型> 文件系统类型;若不指定,将使用 ext2
    fs-options 实际文件系统构建程序的参数
      <设备> 要使用设备的路径
      <大小> 要使用设备上的块数
    -V, --verbose 解释正在进行的操作;
    多次指定 -V 将导致空运行(dry-run)
    -V, --version 显示版本信息并退出
    将 -V 作为 --version 选项时必须是惟一选项
    -h, --help 显示此帮助并退出
3、文件系统修复
    e2fsck fsck
  -a 自动修复
  -r 交互式修复
  -y 自动回答yes
  -f 强制修复
  -p 自动进行安全的修复文件系统问题
  xfs_repair
  -f 修复文件,
  -n 只检查
  -d 允许修复只读的挂载设备
五、挂载设备
1、mount
  通常情况下,一个文件夹只能挂一个设备
  允许一个设备同时挂两个文件夹
2、unmount
  用法:
    mount [-lhV]
    mount -a [选项]
    mount [选项] [--source] <源> | [--target] <目录>
    mount [选项] <源> <目录>
    mount <操作> <挂载点> [<目标>]
 
  选项:
    -a, --all 挂载 fstab 中的所有文件系统
    -c, --no-canonicalize 不对路径规范化
    -f, --fake 空运行;跳过 mount(2) 系统调用
    -F, --fork 对每个设备禁用 fork(和 -a 选项一起使用)
    -T, --fstab <路径> /etc/fstab 的替代文件
    -h, --help 显示此帮助并退出
    -i, --internal-only 不调用 mount.<类型> 助手程序
    -l, --show-labels 列出所有带有指定标签的挂载
    -n, --no-mtab 不写 /etc/mtab
    -o, --options <列表> 挂载选项列表,以英文逗号分隔
    -O, --test-opts <列表> 限制文件系统集合(和 -a 选项一起使用)
    -r, --read-only 以只读方式挂载文件系统(同 -o ro)
    -t, --types <列表> 限制文件系统类型集合
    --source <源> 指明源(路径、标签、uuid)
    --target <目标> 指明挂载点
    -v, --verbose 打印当前进行的操作
    -V, --version 显示版本信息并退出
    -w, --rw, --read-write 以读写方式挂载文件系统(默认)
 
    -h, --help 显示此帮助并退出
    -V, --version 输出版本信息并退出
3、查看挂载情况
  mount
  findmnt
  fuser -v nount-point
  fuser -km /mnt/sdb 踢除正在使用的用户
4、持久挂载
  /etc/fstab
挂载点
文件系统
属性
是否备份
检查
/dev/mapper/centos-root /
xfs
defaults
0
0
  mount -a   刷新挂载信息
5、重新挂载
  remount
六、管理SWAP空间--交换文件系统
  当没有足够的RAM保存系统处理的数据时会将数据写入SWAP 分区
  1、创建分区
  2、创建文件系统
    mkswap /dev/sdc
  3、修改/etc/fstab文件
  4、生效:swapon -a 失效 :swapoff
  5、eject 弹出光盘
    eject -t 弹入光盘
    cp /dev/cdrom /root/centos.iso 将文件做成光盘
    sodim -v -eject centos.iso 刻录
    lsusb 查看usb设备 
  6、文件系统空间实际真正占用等信息的查看工具
    df -h -t
  7、查看一个文件夹的大小
    du   -s
  8、convert and copy a file
    dd if= of= bs=
  9、dmesg 观察硬件变化
七、RAID管理:独立硬盘冗余陈列
  1、提高IO能力,磁盘并行读写
    提高耐用性,磁盘冗余算法来实现
  2、多接式磁盘陈列:通过扩展卡提供适配能力
    内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置
    软件RAID:通过OS实现,比如,群晖的NAS
  3、RAID级别
    RAID-0
    要求至少两个硬盘以上组成,大小需要一样,读写可以并行处理,速度是最快的,但没
    冗余,一个磁盘损坏,所有数据都会丢失。在企业里基本不用。
    RAID-1
    同时往两快硬盘里写一样的数据,有容错性,防止物理损坏。写没提升,但读有提升。
    RAID-4
    3块以上的硬盘组成,其中有一块硬盘是专用校验盘,磁盘利用率:(N-1)/N
    RAID-5
    改进版-4,校验位不固定在一块硬盘上,3块以上硬盘。一块硬盘坏了,会影响整体 速
    RAID-6
    双份检验位,算法更复杂。
    有容错能力,允许最多2块硬盘损坏,至少4块硬盘
    RAID-10
    最少4块硬盘
    两组备份
    性能优于-01
    RAID-01
    多块硬盘,先实现RAID0,再组合成RAID1
    ....
    RAID -50
    RAID-60
    JBOD:只是一堆磁盘
    总结:
八、LVM管理:逻辑卷
1、实现过程
    pvcreate:将设备指定为物理卷 :
    vgcreate:用一个或多个物理卷来创建一个卷组
    lvcreate:在物理卷上创建的逻辑卷,是由物理区域PE组成
  可以在逻辑卷上创建文件系统并挂载
2、pvdisplay pvs 显示物理卷
3、vgs vgdisplay 显示物理卷组
4、PE,是默认的最小卷大小
5、lvs lvdisplay 显示逻辑卷信息
6、扩容
    首先确保卷组空间是够的
  lvextend -   -r(自动增加扩容的文件系统)
  resize2fs 文件系统同步到新的扩容空间 只支持EXT4
  xfs_growfs 也是扩容
  一步到位:lvextend -r 扩容同步立即同步文件系统
  扩卷组:
  新增物理卷
  vgexteng
7、缩容:必须要离线,建议先备份,只支持ETX4
  UMNOUT
  e2fsck
  resize2fs   同步文件系统
  lvreduce    
  mount
8、 pvmove 将其中一个逻辑卷移动
  vgreduce
  pvremove
九、LVM快照
1、类似备份效果
2、创建快照
  lvcreate -l -s -p r 只读
3、恢复快照
  umount 取消所有挂载
  lvconvert --merge 快照地址
十、删除卷组
  A B 两同一卷组VG0
  PVMOVE /dev/A 把A中的数据移走
  lvreduce vg0 /dev/A 将物理卷从卷组里移走
  pvremove /DEV
  FDISK -D 删除分区
  umount 取消挂载
  步骤:lvremove      pvremove    vgremove
posted @ 2024-01-16 21:28  djyhello  阅读(29)  评论(0编辑  收藏  举报