冷色调网站怎么做网页挣钱

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

冷色调网站,怎么做网页挣钱,关于网站维护的书籍,免费ppt模板网址1 磁盘结构 1.1 设备文件 一切皆文件: open(),read(),write(),close() 设备文件:关联至一个设备驱动程序#xff0c;进而能够跟与之对应硬件设备进行通信 设备号码: ​ 主设备号 major number,标识设备类型​ 次设备号 minor number,标识同一类型下的不同设备 设备类型:…1 磁盘结构 1.1 设备文件 一切皆文件: open(),read(),write(),close() 设备文件:关联至一个设备驱动程序进而能够跟与之对应硬件设备进行通信 设备号码: ​ 主设备号 major number,标识设备类型​ 次设备号 minor number,标识同一类型下的不同设备 设备类型: ​ 块设备 block存取单位“块”磁盘​ 字符设备 char存取单位“字符”键盘 磁盘设备的设备文件命名 /dev/DEV_FILE/dev/sdx #SCSISATASASIDEUSB/dev/nvme0n1p5 259:5 nvme协议 虚拟磁盘: /dev/vd/dev/xvd 不同磁盘标识: a-z,aa,ab… 示例: /dev/sda/dev/sdb …同一设备上的不同分区: 1,2,… /dev/sda1/dev/sda5 例创建设备文件 [rootCentOS8 ~]#mknod /data/partation-sda1 b 8 1 [rootCentOS8 ~]#ll /data/partation-sda1 brw-r–r– 1 root root 8, 1 Aug 1 12:41 /data/partation-sda1 [rootCentOS8 ~]#mount /data/partation-sda1 /mnt/ [rootCentOS8 ~]#ls /mnt/ config-4.18.0-348.el8.x86_64 efi grub2 [rootCentOS8 ~]#ls /boot config-4.18.0-348.el8.x86_64 efi grub2例2 [rootCentOS8 ~]#ll /dev/zero crw-rw-rw- 1 root root 1, 5 Jul 30 14:43 /dev/zero [rootCentOS8 ~]#mknod /data/zero c 1 5 [rootCentOS8 ~]#ll /data/zero crw-r–r– 1 root root 1, 5 Aug 1 12:44 /data/zero1.2 硬盘类型 硬盘接口类型 ​ IDE 133MB/s并行接口早期级用电脑​ SCSI 640MB/s并行接口早期服务器​ SATA 6GbpsSATA数据端口与电源端口是分开的即需要两条线一条数据线一条电源线​ SAS 6GbpsSAS是一整条线数据端口与电源端口是一体化的SAS中是包含供电线的而SATA中不包含供电线。SATA标准其实是SAS标准的一个子集二者可兼容SATA硬盘可以插入SAS主板上反之不成​ USB 480MB/s​ M.2 注意速度不是只由接口类型决定支持Nvme协议的速度目前最快 服务器硬盘大小 ​ LFF Large Form Factor大形状因数3.5寸一般见到的那那种台式机硬盘的大小​ SFF Small Form Factor小形状因数2.5寸注意不同于2.5寸的笔记本硬盘 L、S分别是大、小的意思目前服务器或者盘柜采用sff规格的硬盘主要是考内虑增大单位密度内的磁盘容量、增强散热、减小功耗 1.3 机械硬盘和固态硬盘 ​ 机械硬盘(HDD):Hard Disk Drive即是传统普通硬盘主要由:盘片磁头盘片转轴及控制电机磁头控制器数据转换器接口缓存等几个部分组成。 ​ 机械硬盘中所有的盘片都装在一个旋转轴上每张盘片之间是平行的在每个盘片的存储面上有一个磁头磁头与盘片之间的距离比头发丝的直径还小所有的磁头联在一个磁头控制器上由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向运动加上盘片每分钟几千转的高速旋转磁头就可以定位在盘片的指定位置上进行数据的读写操作。数据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上也可以通过相反方式读取。 硬盘为精密设备进入硬盘的空气必须过滤 固态硬盘(SSD): Solid State Drive用固态电子存储芯片阵列而制成的硬盘由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。 固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同在产品外形和尺寸上也与普通硬盘一致 相较于HDDSSD在防震抗摔、传输速率、功耗、重量、噪音上有明显优势SSD传输速率性能是HDD的2倍 相较于SSDHDD在价格、容量占有绝对优势
硬盘有价数据无价目前SSD不能完全取代HHD 1.4 硬盘存储术语 硬盘存储术语CHS ​ head 磁头磁头数 盘面数 三个盘片六个盘面六个磁头 ​ track 磁道磁道 柱面数 盘面各1个0磁道 ​ sector 扇区固定512bytes ​ cvlinder 柱面 一列0磁道即6个0磁道为0柱面 ​ 1柱面512sector数/trackhead数512632557.84M
C5之前版本Linux以柱面的整数倍划分分区,Centos 6之后可以支持以扇区划分分区 要想更快地读取机械硬盘的数据应把数据放在低磁道12…即硬盘外圈 ZBRZoned Bit Recording区位记录磁盘扇区结构 CHS ​ CHS采用24 bit位寻圳​ 其中前10位表示cylinder中间8位表示head后面6位表示sector​ 最大寻址空间2^2451210 24/1024/10248GB LBA (logical block addressing) ​ LBA是一个整数通过转换成 CHS格式完成磁盘具体寻址​ ATA-1规范中定义了28位寻址模式以每扇区512位组来计算ATA-1所定义的28位LBA上限达到128GiB。​ 2002年ATA-6规范采用48位LBA同样以每扇区512位组计算容量上限可达128Petabytes 由于CHS寻址方式的寻址空间在大概8GB以内所以在磁盘容量小于大概8GB时可以使用CHS寻址方式或是LBA寻址方式在磁盘容量大于大概8GB时则只能使用LBA寻址方式 [rootCentOS8 ~]#lsblk -d -o name,rota rota即旋转1则代表机械硬盘0固态 NAME ROTA sda 1 sr0 1[rootCentOS8 ~]#cat /sys/block//queue/rotational 同上*代表不同的磁盘 1 12 管理存储 使用磁盘空间过程 设备分区创建文件系统挂载新的文件系统 2.1 磁盘分区 2.1.1 为什么分区 优化I/O性能 实现磁盘空间配额限制 提高修复速度 隔离系统和程序 安装多个OS 采用不同文件系统
2.1.2 分区方式 两种 MBR GPT 2.1.2.1 MBR分区 MBR:Master Boot Record1982年使用32位表示扇区数分区不超过2T2048G 划分分区的单位: Centos 5之前按整柱面划分 Centos 6版本后可以按Sector划分 0磁道0扇区 512bytes446642 ​ 446bytes boot loader启动计算机 ​ 64bytes 分区表其中每16bytes标识一个分区 ​ 2bytes 55AA
MBR分区中一块硬盘最多有4个主分区也可以3主分区1扩展(N个逻辑分区) MBR分区: 主和扩展分区对应的1–4/dev/sda3逻辑分区从5开始/dev/sda5 硬盘主引导记录MBR由4个部分组成 0000-0088]aster Boot Record主引导程序主引导程序0089-01BD出错信息数据区数据区01BE-01CD分区项1(16字节)分区表01CE-01DD分区项2(16字节)01DE-01ED分区项3(16字节)01EE-01FD分区项4(16字节)01FE550lFFAA结束标志 主引导程序(偏移地址0000H–0088H)它负责从活动分区中装载并运行系统引导程序 出错信息数据区偏移地址0089H–00E1H为出错信息00E2H–01BDH全为0字节 分区表(DPT,Disk Partition Table) 含4个分区项偏移地址01BEH–01FDH,每个分区表项长16个字节共64字节为分区项1、分区项2、分区项3、分区项4结束标志字偏移地址01FE–01FF的2个字节值为结束标志55AA MBR中DPT结构 存贮字节位内容及含义第1字节引导标志。若值为80H表示活动分区若值为00H表示非活动分区。第2、3、4字节本分区的起始磁头号、扇区号、柱面号。其中: 磁头号一一第2字节; 扇区号一一第3字节的低6位; 柱面号一一为第3字节高2位第4字节8位。第5字节分区类型符。 00H一一表示该分区未用(即没有指定); 06H一一FAT16基本分区; OBH一一FAT32基本分区; 05H一一扩展分区; 07H-一NTFS分区; OFH–(LBA模式)扩展分区(83H为Linux分区等)。第6、7、8字节本分区的结束磁头号、扇区号、柱面号。其中: 磁头号一一第6字节; 扇区号一一第7字节的低6位; 柱面号一一第7字节的高2位第8字节。第9、10、11、12字节本分区之前已用了的扇区数。第13、14、15、16字节本分区的总扇区数。 例备份MBR的分区表破坏后恢复 #备份MBR分区表 [rootacentos8~]#dd if/dev/sda of/data/dpt.img bs1 count64 skip446 [rootcentos8 ~]#scp /data/dpt.img 10.0.0.8:#破坏MBR分区表将分区表里446字节开始后的64个字节清空为0 [rootcentos8 ~]#dd if/dev/zero of/dev/sda bs1 count64 seek446#无法启动 [rootcentos8 ~]#reboot#用光盘启动,进入rescue mode选第3项skip to shell #配置网络 [rootcentos8 ~]#ifconfig ens160 10.0.0.20124 或 [rootcentos8 ~]#ip a a 10.0.0.20124 /dev/ens160 [rootcentos8 ~]#scp 10.0.0.8:/data/dpt.img#恢复MBR分区表 [rootcentos8 ~]#dd ifdpt.img of/dev/sda bs1 seek446 [rootcentos8 ~]#exitps如果未备份可以将分区策略相同的其他主机的分区表来恢复和还原当前主机被破坏的分区表 2.1.2.2 GPT分区 GPT: GUID (Globals Unique ldentifiers) partition table 支持128个分区使用64位支持8Z(512Bvte/block)64Z (4096Bvte/block) 使用128位UUID(Universally Unique ldentifier)表示磁盘和分区 GPT分区表自动备份在头和尾两份并有CRC校验位 UEFI(Unified Extensible Firmware lnterface 统一可扩展固件接口)硬件支持GPT使得操作系统可以启动 GPT分区结构分为4个区域 ​ GPT头​ 分区表​ GPT分区​ 备份区域 2.1.3 BIOS和UEFI BIOS是固化在电脑主板上的程序主要用于开机系统自检和引导操作系统。目前新式的电脑基本上都是UEFI启动 BIOS(Basic nput Output System 基本输入输出系统)主要完成系统硬件自检和引导操作系统操作系统开始启动之后BIOS的任务就完成了。 系统硬件自检:如果系统硬件有故障主板上的扬声器就会发出长短不同的滴滴音可以简单的判断硬件故障比如“1长1短”通常表示内存故障“1长3短”通常表示显卡故障 BIOS在1975年就诞生了使用汇编语言编写当初只有16位因此只能访问1M的内存其中前640K称为基本内存后384K内存留给开机和各类BIOS本身使用。 BIOS只能识别到主引导记录(MBR)初始化的硬盘最大支持2T的硬盘4个主分区(逻辑分区中的扩展分区除外)而目前普遍实现了64位系统 传统的BIOS已经无法满足需求了这时英特尔主导的EFI就诞生了 EFI(Extensible Firmware nterface) 可扩展固件接口是 Intel为PC 固件的体系结构、接口和服务提出的建议标准。 其主要目的是为了提供一组在 OS 加载之前(启动前在所有平台上一致的、正确指定的启动服务被看做是BIOS的继任者或者理解为新版BIOS。 UEFI是由EFI1.10为基础发展起来的它的所有者已不再是lntel而是一个称作Unified EFI Form的国际组织 UEFI(Unified Extensible Firmware nterface)统一的可扩展固件接口是一种详细描术类型接口的标准。UEFI相当于一个轻量化的操作系统 提供了硬件和操作系统之间的一个接口提供了图形化的操作界面。最关键的是引入了GPT分区表支持2T以上的硬盘硬盘分区不受限制 BIOS和UEFI区别 BIOS采用了16位汇编语言编写只能运行在实模式(内存寻址方式由16位段寄存器的内容乘以16(10H)当做段基地址加上16位偏移地址形成20位的物理地址)下 可访问的内存空间为1MB只支持字符操作界面UEFI采用32位或者64位的C语言编写突破了实模式的限制可以达到最大的寻址空间 支持图形操作界面使用文件方式保存信息支持GPT分区启动适合和较新的系统和硬件的配合使用 BIOSMBR与UEFIGPT 2.1.3 管理分区 列出块设备 lsblk创建分区命令 fdisk 管理MBR分区 gdisk 管理GPT分区 parted 高级分区操作可以是交互或非交互式方式重新设置内存中的内核分区表版本即同步内存和硬盘中的分区表C5/7/8均支持除了C6 partprobe对于C6强行同步内存和硬盘的分区表以sda硬盘为例且是增加分区后非删除分区 partx -a /dev/sda强行同步内存和硬盘的分区表以sda硬盘的sda6,sda7,sda8为例且删除分区 partx -d –nr 6-8 /dev/sda2.1.3.1 parted 命令 格式: panted [选项]… [设备 [命令 [参数]…]…]注意parted的操作实时生效小心使用 范例: parted /dev/sdb mklabel gpt|msdos 修改分区类型 parted /dev/sdb print parted /dev/sdb mkpart primary 1 200(默认M) 创建新的分区 parted /dev/sdb rm 1 删除分区1 parted -l 列出所有硬盘分区信息2.1.3.2 分区工具fdisk和gdisk 不会立即生效 gdisk [device…] 类fdisk的GPT分区工具 fdisk -l[-u][device…] 查看分区 fdisk [device…] 管理MBR分区子命令

  • p 分区列表
  • t 更改分区类型然后使用L可以查看所有的分区类型
  • n 创建新分区
  • d 删除分区
  • v 校验分区
  • u 转换单位
  • w 保存并退出
  • q 不保存并退出查看内核是否已经识别新的分区 fdisk -l 查看硬盘上的 lsblk 查看内存上的 cat /proc/partitions 内存上的C6 通知内核重新读取硬盘分区表 partx -a /dev/sda 以sda硬盘为例且是增加分区后非删除分区 或kpartx -a /dev/sda -f: forcepartx -d –nr 6-8 /dev/sda 以sda硬盘的sda6,sda7,sda8为例且删除分区范例:非交互式创建分区创建一个2G的分区 echo -e n\np\n\n\n2G\nw\n | fdisk /dev/sdc2.2 文件系统 2.2.1 文件系统概念 文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。 操作系统中负责管理和存储文件信息的软件结构称为文件管理系统简称文件系统 从系统角度来看文件系统是对文件存储设备的空间进行组织和分配负责文件存储并对存入的文件进行保护和检索的系统。 具体地说它负责为用户建立文件存入、读出、修改、转储文件控制文件的存取安全控制日志压缩加密等 查看支持的文件系统: [rootCentOS8 ~]#ls /lib/modules/uname -r/kernel/fs binfmt_misc.ko.xz cifs ext4 fuse jbd2 nfs nls squashfs cachefiles cramfs fat gfs2 lockd nfs_common overlayfs udf ceph dlm fscache isofs mbcache.ko.xz nfsd pstore xfs各种文件系统: https://en.wikipedia.org/wiki/Comparison_of_file_systems 帮助: man 5fs 2.2.2 文件系统类型 Linux常用文件系统 ​ ext2: Extended file system 适用于那些分区容量不是太大更新也不频繁的情况例如/boot 分区​ ext3:是ext2的改进版本其支持日志功能能够帮助系统从非正常关机导致的异常中恢复​ ext4:是 ext 文件系统的最新版。提供了很多新的特性包括纳秒级时间戳、创建和使用巨型文件(16TB)、最大1EB的文件系统以及速度的提升​ xfs:SGl支持最大8EB的文件系统​ swap​ iso9660 光盘​ btrfs (Oracle)​ reiserfs Windows常用文件系统 ​ FAT32​ NTFS​ exFAT Unix: ​ FFS (fast)​ UFS (unix)​ JFS2 网络文件系统: ​ NFS​ CIFS 集群文件系统: ​ GFS2​ OCFS2 (oracle) 分布式文件系统 ​ fastdfs​ ceph​ moosefs​ mogilefs​ glusterfs​ Lustre RAW: 未经处理或者未经格式化产生的文件系统 常用的文件系统特性: FAT32 最多只能支持16TB的文件系统和4GB的文件 NTFS 最多只能支持16EB的文件系统和16EB的文件 EXT3 最多只能支持32TB的文件系统和2TB的文件实际只能容纳2TB的文件系统和16GB的文件目前只支持32000个子目录件系统使用32位空间记录块数量和inode数量当数据写入到Ext3文件系统中时Ext3的数据块分配器每次只能分配一个4KB的块 EXT4: Linux系统下的日志文件系统是EXT3文件系统的后继版本文件系统容量达到1EB而支持单个文件则达到16TB理论上支持无限数量的子目录文件系统使用64位空间记录块数量和inode数量多块分配器支持一次调用分配多个数据块修复速度更快 XFS 根据所记录的日志在很短的时间内迅速恢复磁盘文件内容用优化算法日志记录对整体文件操作影响非常小是一个全64-bit的文件系统最大可以支持8EB的文件系统而支持单个文件则达到8EB能以接近裸设备I/0的性能存储数据 查前支持的文件系统: cat /proc/filesystems2.2.3 文件系统的组成部分 内核中的模块:ext4xfs,vfat Linux的虚拟文件系统:VFS(virtual file system) 用户空间的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat
    2.2.4 文件系统选择管理 2.2.4.1 创建文件系统 创建文件管理工具 mkfs命令(1) mkfs.FS_TYPE /dev/DEVICETYPE:ext4xfsbtrfsvfat(2) mkfs -t FS_TYPE /dev/DEVICE-L LABEL 设定卷标mke2fs:ext系列文件系统专用管理工具 常用选项:tune2fs也可以使用) -t {ext2|ext3|ext4|xfs} 指定文件系统类型 -b {1024|2048|4096|1K} 指定块 block 大小 -L LABEL 设置卷标 -j 相当于 -t ext3mkfs.ext3 mkfs -t ext3 mke2fs j mke2fs -t ext3 -i # 为数据空间中每多少个字节创建一个inode;不应该小于block大小 -N # 指定分区中创建多少个inode -l 一个inode记录占用的磁盘空间大小128—4096 -m # 默认5%,为管理人员预留空间占总空间的百分比 -O FEATURE[,…] 启用指定特性 -O ^FEATURE 关闭指定特性2.2.4.2 查看和管理分区信息 格式: blkid [OPTION]…[DEVICE]常用选项: -U UUID 根据指定的UUID来查找对应的设备 -L LABEL 根据指定的LABEL来查找对应的设备e2label:管理ext系列文件系统的LABEL e2Tabel DEVICE [LABEL]findfs:查找分区 findfs [options] LABELlabel findfs [options] UUIDuuidtune2fs:重新设定ext系列文件系统可调整参数的值-I 查看指定文件系统超级块信息;super block -L LABEL 修改卷标 -m # 预留给管理员的空间百分比reserved -j 将ext2升级为ext3 -O 文件系统属性启用或禁用-O ^has_journal -o 调整文件系统的默认挂载选项-o/ac -U UUID 修改UUID号dumpe2fs:显示ext文件系统信息将磁盘块分组管理 -h:查看超级块信息不显示分组信息xfsinfo:显示挂载或已挂载的xfs文件系统信息 xfs_info mountpoint|devname块组描述符表(GDT) ext文件系统每一个块组信息使用32字节描述这32个字节称为块组描述符所有块组的块组描术符组成块组描术符表GDT(group descriptor table)。 虽然每个块组都需要块组描述符来记录块组的信息和属性元数据但是不是每个块组中都存放了块组描述符。 将所有块组的块组信息组成一个GDT保存并将该GDT存放于某些块组中类似存放superblock和备份superblock的块 例 [rootCentOS8 ~]#xfs_info /dev/sda3 查看xfs文件系统的数据 meta-data/dev/sda3 isize512 agcount4, agsize3276800 blks sectsz512 attr2, projid32bit1 crc1 finobt1, sparse1, rmapbt0 reflink1 data bsize4096 blocks13107200, imaxpct25 sunit0 swidth0 blks naming version 2 bsize4096 ascii-ci0, ftype1 log internal log bsize4096 blocks6400, version2 sectsz512 sunit0 blks, lazy-count1 realtime none extsz4096 blocks0, rtextents0[rootCentOS8 ~]#dumpe2fs /dev/sda1 查看ext文件系统信息 dumpe2fs 1.45.6 (20-Mar-2020) Filesystem volume name: none Last mounted on: /boot Filesystem UUID: 54ead45a-7577-4b54-9de2-501aef04207a Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum Filesystem flags: signed_directory_hash Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 65536 Block count: 262144 Reserved block count: 13107 预留块数量默认是5%创建时可以指定 Free blocks: 201341 Free inodes: 65219 First block: 0 Block size: 4096 Fragment size: 4096 Group descriptor size: 64 Reserved GDT blocks: 127 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 8192 Inode blocks per group: 512 Flex block group size: 16 Filesystem created: Tue May 30 23:28:40 2023 Last mount time: Tue Aug 1 12:59:56 2023 Last write time: Tue Aug 1 12:59:56 2023 Mount count: 26 Maximum mount count: -1 Last checked: Tue May 30 23:28:40 2023 Check interval: 0 (none) Lifetime writes: 363 MB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 256 Required extra isize: 32 Desired extra isize: 32 Journal inode: 8 Default directory hash: half_md4 Directory Hash Seed: ddab75df-d9e9-4a68-87fd-de316f1c554c Journal backup: inode blocks Checksum type: crc32c Checksum: 0xb2b01099 Journal features: journal_incompat_revoke journal_64bit journal_checksum_v3 Journal size: 32M Journal length: 8192 Journal sequence: 0x000001aa Journal start: 0 Journal checksum type: crc32c Journal checksum: 0x8efdc7e4Group 0: (Blocks 0-32767) csum 0x7c0c [ITABLE_ZEROED]Primary superblock at 0, Group descriptors at 1-1Reserved GDT blocks at 2-128Block bitmap at 129 (129), csum 0x0f6fb285Inode bitmap at 137 (137), csum 0xc57429e2Inode table at 145-656 (145)28511 free blocks, 7877 free inodes, 8 directories, 7874 unused inodesFree blocks: 4257-32767Free inodes: 312, 317-8192 Group 1: (Blocks 32768-65535) csum 0x97c8 [ITABLE_ZEROED]Backup superblock at 32768, Group descriptors at 32769-32769Reserved GDT blocks at 32770-32896Block bitmap at 130 (bg #0 130), csum 0xedd9dd9dInode bitmap at 138 (bg #0 138), csum 0x262496e3Inode table at 657-1168 (bg #0 657)13514 free blocks, 8190 free inodes, 2 directories, 8189 unused inodesFree blocks: 34446-34705, 34709-34815, 36864-37887, 37889-38911, 38914-49151, 51660-51711, 52042-52223, 52611-52735, 52745-53247Free inodes: 8195-16384 Group 2: (Blocks 65536-98303) csum 0x53c2 [INODE_UNINIT, ITABLE_ZEROED]Block bitmap at 131 (bg #0 131), csum 0xf08f643aInode bitmap at 139 (bg #0 139), csum 0x00000000Inode table at 1169-1680 (bg #0 1169)14554 free blocks, 8192 free inodes, 0 directories, 8192 unused inodesFree blocks: 80990-80991, 81017-81407, 81920-94495, 94518-94527, 94567-94719, 94834-96255Free inodes: 16385-24576 Group 3: (Blocks 98304-131071) csum 0x2057 [INODE_UNINIT, ITABLE_ZEROED]Backup superblock at 98304, Group descriptors at 98305-98305Reserved GDT blocks at 98306-98432Block bitmap at 132 (bg #0 132), csum 0x8667e55bInode bitmap at 140 (bg #0 140), csum 0x00000000Inode table at 1681-2192 (bg #0 1681)22140 free blocks, 8192 free inodes, 0 directories, 8192 unused inodesFree blocks: 98433-100351, 110851-131071Free inodes: 24577-32768 Group 4: (Blocks 131072-163839) csum 0xa83b [INODE_UNINIT, ITABLE_ZEROED]Block bitmap at 133 (bg #0 133), csum 0x1cf11b2dInode bitmap at 141 (bg #0 141), csum 0x00000000Inode table at 2193-2704 (bg #0 2193)24576 free blocks, 8192 free inodes, 0 directories, 8192 unused inodesFree blocks: 139264-163839Free inodes: 32769-40960 Group 5: (Blocks 163840-196607) csum 0xf707 [INODE_UNINIT, ITABLE_ZEROED]Backup superblock at 163840, Group descriptors at 163841-163841Reserved GDT blocks at 163842-163968Block bitmap at 134 (bg #0 134), csum 0x07eabc99Inode bitmap at 142 (bg #0 142), csum 0x00000000Inode table at 2705-3216 (bg #0 2705)32639 free blocks, 8192 free inodes, 0 directories, 8192 unused inodesFree blocks: 163969-196607Free inodes: 40961-49152 Group 6: (Blocks 196608-229375) csum 0xda29 [INODE_UNINIT, ITABLE_ZEROED]Block bitmap at 135 (bg #0 135), csum 0x14dbff1eInode bitmap at 143 (bg #0 143), csum 0x00000000Inode table at 3217-3728 (bg #0 3217)32768 free blocks, 8192 free inodes, 0 directories, 8192 unused inodesFree blocks: 196608-229375Free inodes: 49153-57344 Group 7: (Blocks 229376-262143) csum 0xcf6b [INODE_UNINIT, ITABLE_ZEROED]Backup superblock at 229376, Group descriptors at 229377-229377Reserved GDT blocks at 229378-229504Block bitmap at 136 (bg #0 136), csum 0x07eabc99Inode bitmap at 144 (bg #0 144), csum 0x00000000Inode table at 3729-4240 (bg #0 3729)32639 free blocks, 8192 free inodes, 0 directories, 8192 unused inodesFree blocks: 229505-262143Free inodes: 57345-655362.2.4.3 文件系统检测和修复 文件系统夹故障常发生于死机或者非正常关机之后挂载为文件系统标记为“noclean” 注意:一定不要在挂载状态下执行下面命令修复 fsck: File System Check fsck.FS_TYPE fsck -t FS_TYPE注意:FS_TYPE一定要与分区上已经文件类型相同 常用选项: -a 自动修复 -r 交互式修复错误e2fsck ext系列文件专用的检测修复工具 -y 自动回答为yes -f 强制修复 -p 自动进行安全的修复文件系统问题xfs_repair xfs文件系统专用检测修复工具 常用选项: -f 修复文件而设备 -n 只检查 -d 允许修复只读的挂载设备在单用户下修复/时使用然后立即reboot2.3 挂载 挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系进而使得此目录做为其它文件访问入口的行为 卸载:为解除此关联关系的过程 把设备关联挂载点:mount Point 挂载点下原有文件在挂载完成后会被临时隐藏因此挂载点目录一般为空 进程正在使用中的设备无法被卸载 2.3.1 挂载文件系统mount 格式: mount [-fnrsvw] [-t vfstype] [-o options] device mountpointdevice:指明要挂载的设备设备文件 例如:/dev/sda5卷标 -L LABEL 例如mount LABELtest mountpointUUID -U UUID 例如-U 0c50523C-43f1-45e7-85c0-a126711d406e伪文件系统名称: proc,sysfs,devtmpfs,configfsmountpoint:挂载点目录必须事先存在建议使用空目录mount常用命令选项 -t vsftype 指定要挂载的设备上的文件系统类型 -r readonly只读挂载 -w read and write读写挂载默认就是一般不写 -n 不更新/etc/mtabmount不可见 -a 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中且挂载选项中有auto功能) -L LABEL 以卷标指定挂载设备 -U UUID 以UUID指定要挂载的设备 -B,–bind 绑定目录到另一个目录上-o options:(挂载文件系统的选项)多个选项使用逗号分隔async 异步模式内存更改时写入缓存区buffer过一段时间再写到磁盘中效率高但不安全sync 同步模式内存更改时同时写磁盘安全但效率低atime/noatime 包含目录和文件noatime使文件被访问或修改时不再修改atime可以减少磁盘IO提升性能diratime/nodiratime 目录的访问时间戳auto/noauto 是否支持开机自动挂载是否支持-a选项exec/noexec 是否支持将文件系统上运行应用程序dev/nodev 是否支持在此文件系统上使用设备文件suid/nosuid 是否支持suid和sgid权限remount 重新挂载ro只读 rw读写user/nouser 是否允许普通用户挂载此设备/etc/fstab使用acl/noacl 启用或关闭此文件系统上的acl功能loop 使用loop设备回环将文件挂载_netdev 当网络可用时才对网络资源进行挂载如:NFS文件系统defaults 默认值相当于rwsuiddevexecautonouserasync例 mount -o remount,rw /dev/sdb2 重新以rw方式挂载sdb2挂载规则: ​ 一个挂载点同一时间只能挂载一个设备​ 一个挂载点同一时间挂载了多个设备只能看到最后一个设备的数据其它设备上的数据将被隐藏​ 一个设备可以同时挂载到多个挂载点​ 通常挂载点一般是已存在空的目录否则原文件将被隐藏无法访问但仍会在磁盘占据空间 2.3.2 卸载文件系统 umount 卸载时:可使用设备也可以使用挂载点 umount 设备名|挂载点2.3.3 查看挂载情况 查看挂载 #通过查看/etc/mtab 文件显示当前已挂载的所有设备 mount #查看内核追踪到的已挂载的所有设备 cat /proc/mounts查看挂载点情况是返回0 findmnt MOUNT_POINT|device查看正在访问指定文件系统的进程 lsof MOUNT_POINT fuser -V MOUNT_POINT终止所有在正访问指定的文件系统的进程 fuser -km MOUNT_POINT注意以上挂载均为临时挂载重启设备后恢复 2.3.4 持久挂载 将挂载保存到 /etc/fstab 中可以下次开机时自动启用挂载 /etc/fstab格式帮助: man 5 fstab 每行定义一个要挂载的文件系统其中包括共 6 项: ​ 要挂载的设备或伪文件系统 ​ 设备文件 ​ LABEL: LABEL ​ UUID: UUID ​ 伪文件系统名称: proc,sysfs ​ 挂载点 必须是事先存在的目录 ​ 文件系统类型 ext4xfsiso9660nfsnone ​ 挂载选项 defaultsaclbind ​ 转储频率 0:不做备份 1: 每天转储 2: 每隔一天转储 ​ fsck检查的文件系统的顺序 允许的数字是0 1 20: 不自检1: 首先自检;一般只有rootfs才用 2: 非rootfs使用
    添加新的挂载项需要执行下面命令生效 mount -a范例: C8/C7 /etc/fstab 的分区UUID错误无法启动 自动进入emergency mode输入root 密码 #vim /etc/fstab 直接将错误的UUID行#注释。因为第六项是否为0都无法忽略错误都无法启动 #reboot 后修改UUID范例: centos6 /etc/fstab 的分区UUID错误无法启动 如果/etc/fatab 的挂载设备出错比如文件系统故障并且文件系统检测项(即第6项为非0)将导致无法启动 自动进入emergency mode 输入root 密码 #cat /proc/mounts 可以查看到/ 以ro方式挂载无法直接修改配置文件 #mount -o remount .rw #vim /etc/fstab 将故障行的最后1项即第6项修改为0开机不检测此项挂载设备的健康性从而忽略错误能实现启动 | 或将错误的UUID行#注释 启动后将UUID修改为真实的UUID即可挂载文件时C7/C8在fstab里不能写UUID因为文件太多UUID无法找到而要写文件名才能挂。且C6要加 -o loop 才能挂上文件 fstab: /filename /mountpoint type defaults 0 0 C6 /filename /mountpoint type loop 0 0挂载目录时在fstab里文件类型要写none选项写bind fstab: /dirname /mountpoint none bind 0 02.4 处理交换文件和分区 2.4.1 swap 介绍 swap交换分区是系统RAM的补充swap 分区支持虚拟内存。当没有足够的 RAM 保存系统处理的数据时会将数据写入 swap 分区当系统缺乏 swap 空间时 内核会因 RAM 内存耗尽而终止进程。配置过多 swap 空间会造成存储设备处于分配状态但闲置造成浪费过多 swap 空间还会掩盖内存泄露 注意:为优化性能可以将swap 分布存放或高性能磁盘存放 官方推荐推荐系统 swap 空间 https://accessredhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/installation_guide/sect-disk-partitioning-setup-ppc#sect-recommended-partitioning-scheme-ppc 系统中的 RAM 量推荐的 swap 空间允许休眠的建议 swap 空间大小低于 2 GBRAM 量的2倍数RAM 容量的三倍2 GB 8 GB等于 RAM 量RAM 量的倍数8 GB - 64 GB4 GB 到 RAM 容量的 0.5 倍RAM 容量的 1.5 倍超过 64 GB独立负载 (至少 4GB)不建议使用休眠功能 缓冲区buffer | buffer cache | write cache 缓存cache | read cache
    2.4.2 交换分区实现过程 创建交换分区或者文件使用mkswap写入特殊签名在/etc/fstab文件中添加适当的条目使用swapon -a 激活交换空间 创建swap文件系统 mkswap [DEVICE]启用swap分区 on swapon [OPTION]… [DEVICE]选项: -a:激活所有的交换分区 -p PRIORITY: 指定优先级也可在/etc/fstab 在第4列指定: privalue范例:创建swap分区 禁用swap分区 off swapoff [OPTION]… [DEVICE]范例:禁用swap分区 [rootcentos8 ~]#sed -i.bak /swap/d /etc/fstab [rootcentos8 ~]#swapoff -aPriortySWAP的优先级 可以指定swap分区0到32767的优先级值越大优先级越高 如果用户没有指定那么核心会自动给swap指定一个优先级这个优先级从-1开始每加入一个新的没有用户指定优先级的swap会给这个优先级减一 先添加的swap的缺省优先级比较高除非用户自己指定一个优先级而用户指定的优先级(是正数)永远高于核心缺省指定的优先级(是负数) 2.4.3 swap的使用策略 /proc/sys/vm/swappiness 的值决定了当内存占用达到一定的百分比时会启用swap分区的空间 范例: [rootcentos8 ~]#cat /proc/sys/vm/swappiness 30说明: 内存在使用到100-3070%的时候就开始出现有交换分区的使用。简单地说这个参数定义了系统对swap的使用倾向默认值为30值越大表示越倾向于使用swap。可以设为0这样做并不会禁止对swap的使用只是最大限度地降低了使用swap的可能性 修改swappiness的值 [rootCentOS8 ~]#echo 0 /proc/sys/vm/swappiness [rootCentOS8 ~]#cat /proc/sys/vm/swappiness 02.5 移动介质 挂载意味着使外来的文件系统看起来如同是主目录树的一部分所有移动介质也需要挂载挂载点通常在/media或/mnt下 访问前介质必须被挂载 摘除时介质必须被卸载 按照默认设置非根用户只能挂载某些设备(光盘、DVD、软盘、USB等等) 2.5.1 使用光盘 在图形环境下自动启动挂载/run/media// 手工挂载 mount /dev/cdrom /mntDEVICE mountpoint [rootCentOS8 ~]#ll /dev/cdrom lrwxrwxrwx 1 root root 3 Aug 1 12:59 /dev/cdrom - sr0操作光盘 eject 弹出光盘 eject -t 弹入光盘创建ISO文件相当于打包并不压缩 cp /dev/cdrom /root/centos.iso 将cdrom光盘内容制作为iso文件 mkisofs -r -o /root/etc.iso /etc刻录光盘 wodim -v -eject centos.iso2.5.2 USB介质 查看USB设备是否识别来源于usbutils包 1susb 被内核探测为SCSI设备 /dev/sdaX、/dev/sdbX或类似的设备文件 在图形环境中自动挂载在/run/media/user/label手动挂载 mount /dev/sdX# /mnt范例:格式化U盘为FAT32文件系统 [rootcentos8 ~]#dnf -y instal1 dosfstools [rootcentos8 ~]#mkfs.vfat /dev/sdd1 mkfs.fat 4.1 (2017-01-24) [rootcentos8 ~]#mount /dev/sdd1 /mnt2.6 磁盘常见工具 2.6.1 文件系统空间占用等信息的查看工具df df [OPTION]…[FILE]…常用选项 -H 以10为单位10的多少次方 -T 文件系统类型 -h human-readable以2为单位2的多少次方 -i inodes instead of blocksinode节点 -P 以Posix兼容的格式输出格式整齐例显示文件系统类型等 [rootCentOS8 ~]#df -T Filesystem Type 1K-blocks Used Available Use% Mounted on devtmpfs devtmpfs 970012 0 970012 0% /dev tmpfs tmpfs 998404 0 998404 0% /dev/shm tmpfs tmpfs 998404 9256 989148 1% /run tmpfs tmpfs 998404 0 998404 0% /sys/fs/cgroup /dev/sda2 xfs 104806400 21520536 83285864 21% / /dev/sda3 xfs 52403200 398544 52004656 1% /data /dev/sda1 ext4 999320 193956 736552 21% /boot tmpfs tmpfs 199680 0 199680 0% /run/user/0[rootCentOS8 ~]#lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 ext4 54ead45a-7577-4b54-9de2-501aef04207a /boot ├─sda2 xfs f2c173be-7848-43e9-9d0b-da0f1841f93f / ├─sda3 xfs 499afcaa-85a4-4b87-9223-20497b0bcf94 /data ├─sda4 └─sda5 swap 80ee59c8-b184-4f49-9039-5150257143b8 [SWAP] sr0 iso9660 CentOS-8-5-2111-x86_64-dvd 2021-11-13-01-04-26-002.6.2 查看某目录总体空间占用状态du du [OPTION]… DIR常用选项 -h human-readable -s summary –max-depth# 指定最大目录层级2.6.3 工具dd dd 命令: convert and copy a file 格式: dd if/PATH/FROM/SRC of/PATH/TO/DEST bs# count#常用选项 iffile 从所命名文件读取而不是从标准输入 offile 写到所命名的文件而不是到标准输出 ibssize 一次读size个byte obssize 一次写size个byte bssize block size指定块大小(既是是ibs也是obs) cbssize 一次转化size个byte skipb1ocks 从开头忽略b1ocks个ibs大小的块 seekb1ocks 从开头忽略b1ocks个obs大小的块 countn 复制n个bsconvconversion[,conversion…] 用指定的参数转换文件 conversion 转换参数: ascii 转换 EBCDIC 为 ASCII ebcdic 转换 ASCII 为 EBCDIC lcase 把大写字符转换为小写字符 ucase 把小写字符转换为大写字符 nocreat 不创建输出文件 noerror 出错时不停止 notrunc 不截短输出文件 sync 把每个输入块填充到ibs个字节不足部分用空(NUL)字符补文 fdatasync 写完成前物理写入输出文件例 #备份MBR dd if/dev/sda of/tmp/mbr.bak bs512 count1#破坏MBR中的bootoader dd if/dev/zero of/dev/sda bs64 count1 seek446#有一个大与2K的二进制文件fileA。现在想从第64个字节位置开始读取需要读取的大小是128Byts。又有fileB想把上面读取到的128Bytes写到第32个字节开始的位置替换128Bytes实现如下 dd iffileA offileB bs1 count128 skip63 seek31 convnotrunc#将本地的/dev/sdx整盘备份到/dev/sdy dd if/dev/sdx of/dev/sdy#将/dev/sdx全盘数据备份到指定路径的image文件 dd if/dev/sdx of/path/to/image#备份/dev/sdx全盘数据并利用gzip压缩保存到指定路径 dd if/dev/sdx | gzip /path/to/image.gz#将备份文件恢复到指定盘 dd if/path/to/image of/dev/sdx#将压缩的备份文件恢复到指定盘 gzip -dc /path/to/image.gz | dd of/dev/sdx#将内存里的数据拷贝到root目录下的mem.bin文件 dd if/dev/mem of/root/mem.bin bs1024#拷贝光盘数据到root文件夹下并保存为cdrom.iso文件 dd if/dev/cdrom of/root/cdrom.iso#销毁磁盘数据 dd if/dev/urandom of/dev/sdal#通过比较dd指令输出中命令的执行时间即可确定系统最佳的b1ock size大小 dd if/dev/zero of/root/1Gb.file bs1024 count1000000 dd if/dev/zero of/root/1Gb.file bs2048 count500000 dd if/dev/zero of/root/1Gb.file bs4096 count250000#测试硬盘写速度 dd if/dev/zero of/root/1Gb.file bs1024 count1000000#测试硬盘读速度 dd if/root/1Gb.file bs64k | dd of/dev/null3 RAID 3.1 什么是RAID RAID: Redundant Arrays of lnexpensive (lndependent) Disks 廉价磁盘冗余阵列现称独立磁盘冗余阵列 1988年由加利福尼亚大学伯克利分校 (University of California-Berkeley)“A Case for Redundant Arrays of expensive Disks”多个磁盘合成一个“阵列”来提供更好的性能、几余或者两者都提供 RAID功能实现 ​ 提高IO能力磁盘并行读写​ 提高耐用性磁盘几余算法来实现 RAID实现的方式 ​ 外接式磁盘阵列:通过扩展卡提供适配能力​ 内接式RAID:主板集成RAID控制器安装OS前在BIOS里配置​ 软件RAID:通过OS实现 3.2 RAID级别 级别:多块磁盘组织在一起的工作方式有所不同 RAID-0:条带卷strip RAID-1:镜像卷mirror RAID-2 … RAID-5 RAID-6 RAID-10 RAID-01 RAID级别 3.2.1 RAID-0 以chunk为单位读写数据 读、写性能提升 可用空间:N*min(S1,S2,…) 无容错能力 最少磁盘数: 2,2 利用率能达到100% 3.2.2 RAID-1 读性能提升、写性能略有下降 可用空间:1*min(S1,S2,…) 有冗余能力 最少磁盘数: 2,2N 利用率能达到50% 3.2.3 RAID-4 多块数据盘异或运算值存于专用校验盘 磁盘利用率(N-1)/N 有冗余能力: 允许最多1块磁盘损坏 至少3块硬盘才可以实现 3.2.4 RAID-5 读、写性能提升 可用空间:(N-1)*min(S1,S2,…) 有容错能力: 允许最多1块磁盘损坏 最少磁盘数: 3,3 3.2.5 RAID-6 读、写性能提升 可用空间:(N-2)*min(S1,S2,…) 有容错能力:允许最多2块磁盘损坏 最少磁盘数: 4,4 3.2.6 RAID-10 多块磁盘先实现RAID1再组合成RAID0 读、写性能提升 可用空间: N*min(S1,S2,…)/2 有容错能力: 每组镜像最多只能坏一块 最少磁盘数: 4,4 利用率50% 容错性大于01 3.2.7 RAID-01 多块磁盘先实现RAID0再组合成RAID1 利用率50% 3.2.8 RAID-50 多块磁盘先实现RAID5再组合成RAID0 3.2.9 其它级别 ​ JBOD: Just a Bunch Of Disks 功能:将多块磁盘的空间合并一个大的连续空间使用 可用空间: sum(S1,S2…) RAID7 可以理解为一个独立存储计算机自身带有操作系统和管理工具可以独立运行理论上性能最高的RAID模式 常用级别: RAID-0RAID-1RAID-5RAID-10RAID-50,JBOD 3.3 实现软RAID mdadm工具: 为软RAID提供管理界面为空余磁盘添加几余结合内核中的md(multi devices) RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3等 mdadm:模式化的工具,支持的RAID级别: LINEAR,RAIDO,RAID1,RAID4,RAID5,RAID6,RAID10 命令的语法格式: mdadm [mode] raiddevice [options] component-devices常用选项说明: 模式: 创建:-C 装配:-A 监控:-F 管理: -f-r-a raiddevice: /dev/md# component-devices: 任意块设备创建模式 -n #: 使用#个块设备来创建此RAID-l #: 指明要创建的RAID的级别-a {yes|no} 自动创建目标RAID设备的设备文-C CHUNK_SIZE 指明块大小单位k-x #: 指明空闲盘的个数 -D:显示raid的详细信息mdadm -D /dev/md#管理模式: -f:标记指定磁盘为损坏-a:添加磁盘-r:移除磁盘观察md的状态: cat /proc/mdstat范例: #使用mdadm创建并定义RAID设备 mdadm -C /dev/md0 -a yes -1 5 -n 3 -x 1 /dev/sd{b,c,d,e}1#用文件系统对每个RAID设备进行格式化 mkfs .xfs /dev/md0#使用mdadm检查RAID设备的状况 mdadm –detail|D /dev/md0#增加新的成员 mdadm -G /dev/md0 -n4 -a /dev/sdf1#模拟磁盘故障 mdadm /dev/md0 -f /dev/sda1#移除磁盘 mdadm /dev/md0 -r /dev/sda1#在备用驱动器上重建分区 mdadm /dev/md0 -a /dev/sdal#系统日志信息 cat /proc/mdstat生成配置文件 mdadm -D -s /etc/mdadm.conf停止设备 mdadm -s /dev/md0激活设备: mdadm -A -s /dev/md0强制启动: mdadm -R /dev/md0删除raid信息 mdadm –zero-superblock /dev/sdb14 辑卷管理器 (LVM) 4.1 LVM介绍 LVM: Logical Volume Manager 可以允许对卷进行方便操作的抽象层包括重新设定文件系统的大小允许在多个物理设备间重新组织文件系统 LVM可以弹性的更改LVM的容量 通过交换PE来进行资料的转换将原来LV内的PE转移到其他的设备中以降低LV的容量或将其他设备中的PE加到LV中以加大容量 实现过程 ​ 将设备指定为物理卷​ 用一个或者多个物理卷来创建一个卷组物理卷是用固定大小的物理区域(Physical ExtentPE)来定义的​ 在物理卷上创建的逻辑卷是由物理区域(PE) 组成​ 可以在逻辑卷上创建文件系统并挂载 第一个逻辑卷对应设备名:/dev/dm-# dm: device mapper将一个或多个底层块设备组织成一个逻辑设备的模块 dm不便记忆与分辨可以使用软链接: /dev/mapper/VG_NAME-LV_NAME /dev/VG_NAME/LV_NAME范例 /dev/mapper/vol0-root /dev/vol0/root4.2 实现逻辑卷 4.2.1 pv管理工具 显示pv信息 pvs: 简要pv信息显示 pvdisplay创建pv pvcreate /dev/DEVICE删除pv pvmove /dev/sdb1 将sdb1里使用的PE转移到同卷组VG下其他物理卷PV释放sdb1的PE4.2.2 vg管理工具 显示vg信息 vgs: 简要pv信息显示 vgdisplay创建卷组 vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [physicalDevicePath…]管理卷组 vgextend VolumeGroupName PhysicalDevicePath [physicalDevicePath…] vgreduce VolumegroupName PhysicalDevicePath [physicalDevicePath…]删除卷组 先做pvmove 再做vgremove 4.2.3 lv管理工具 显示逻辑卷 lvs Lvdisplay创建逻辑卷 lvcreate -L #[mMgGtT] -n NAME VolumeGroup范例: lvcreate -l 60%VG -n mylv testvg 取卷组中的60%制作为逻辑卷 lvcreate -l 100%FREE -n yourlv testvg 取卷组中剩余空间的60%制作逻辑卷删除逻辑卷 lvremove /dev/VG_NAME/LV_NAME重设文件系统大小 fsadm [options] resize device [new_size[BKMGTEP]] resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size] xfs_growfs /mountpoint4.2.4 扩展和缩减逻辑卷 4.2.4.1在线扩展逻辑卷 lvextend -L []#[mMgGtT] /dev/VG_NAME/LV_NAME#针对ext resize2fs /dev/VG_NAME/LV_NAME#针对xfs xfs_growfs MOUNTPOINTlvresize -r -l 100%FREE /dev/VG_NAME/LV_NAME4.2.4.2缩减逻辑卷 缩减数据有风险损坏建议提前备份 umount /dev/VG_NAME/LV_NAME 取消挂载 e2fsck -f /dev/VG_NAME/LV_NAME 或 fsck -f /dev/VG_NAME/LV_NAME 检查文件系统完整性 resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT] 缩减文件系统 lvreduce -L [-]#[mMggtT] /dev/VG_NAME/LV_NAME 缩减逻辑卷 mount 重新挂载注意xfs文件系统不支持缩减 4.2.5 跨主机迁移卷组 源计算机上 1在旧系统中umount所有卷组上的逻辑卷2禁用卷组 vgchange -a n vg0 lvdisplay3导出卷组 vgexport vg0 pvscan vgdisplay4拆下旧硬盘在目标计算机上,并导入卷组 vgimport vg05启用 vgchange -ay vg06mount所有卷组的逻辑卷4.3 逻辑卷快照 特点 备份速度快瞬间完成应用场景测试环境。且不能完全代替备份快照后逻辑卷的使用速度会有影响 4.3.1 逻辑卷快照原理 快照是特殊的逻辑卷它是在生成快照时存在的逻辑卷的准确拷贝对于需要备份或者复制的现有数据临时拷贝以及其它操作来说快照是最合适的选择快照只有在它们和原来的逻辑卷不同时才会消耗空间建立快照的卷大小小于等于原始逻辑卷也可以使用lvextend扩展快照 逻辑卷管理器快照 快照就是将当时的系统信息记录下来就好像照相一般若将来有任何数据改动了则原始数据会被移动到快照区没有改动的区域则由快照区和文件系统共享 逻辑卷快照工作原理 ​ 在生成快照时会分配给它一定的空间但只有在原来的逻辑卷或者快照有所改变才会使用这些空间​ 当原来的逻辑卷中有所改变时会将旧的数据复制到快照中​ 快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据 由于快照区与原本的LV共用很多PE的区块因此快照与被快照的LV必须在同一个VG中.系统恢复的时候的文件数量不能高于快照区的实际容量 4.3.2 实现逻辑卷快照 范例: mkfs.xfs /dev/vg0/data mount /dev/vg0/data/ /mnt/data#为现有逻辑卷创建快照 lvcreate -l 64 -s -n data-snapshot -p r /dev/vg0/data#挂载快照 mkdir -p /mnt/snap mount -o ro /dev/vg0/data-snapshot /mnt/snap#恢复快照 umount /dev/vg0/data-snapshot 取消挂载 umount /dev/vg0/data lvconvert –merge /dev/vg0/data-snapshot#删除快照 umount /mnt/databackup lvremove /dev/vg0/databackupvgreduce vg0 /dev/sdb1 从vg0卷组里删掉sdb1