第2章:磁盘和文件系统
第一层次:磁盘,磁盘接入到系统后,即可以在/dev下找到(IDE盘显示为/dev/hda;SAS/SATA/SCSI类型磁盘显示为/dev/sda)
第二层次:【非必须,但一般会做】磁盘可以根据需求进行RAID,实现性能提升、容量提升、冗余备份
第三层次:磁盘分区:/dev/sda1、/dev/sda2、/dev/sda3;
命令:fdisk、parted
第四层次:磁盘分区格式化,即创建文件系统,初始化inode、block【磁盘必须格式化,才能进行挂载】
命令:mkfs、mkfs.ext4等等
第五层次:磁盘分区挂载monut
命令:mount、umonut
第六层次:磁盘分区管理检查工具,文件系统管理检查工具
查看磁盘挂载信息命令:blkid、df;查看文件系统内部细节命令:dumpe2fs、xfs_info;磁盘修复检查命令:fsck、xfs_repair;swap分区命令:free、mkswap

磁盘:买房
分区:隔断
文件系统:装修风格
格式化:装修
挂载:住人,使用
磁盘管理:生活收拾屋子,打扫卫生

一块新磁盘的配置过程 1.是否进行RAID 2.磁盘分区(fdisk、parted) 3.磁盘格式化(mkfs命令) mkfs -t ext4 -b 4096 -I 512 /dev/sdb3 #格式化,并指定block大小和inode大小 mkfs -t ext4 /dev/sdb1 #对/dev/sdb1进行格式化,并指定为ext4 4.磁盘挂载(mount) mount -t ext4 /dev/sdb1 /mnt #分区必须被格式化后才能正确地被挂载 5.磁盘管理

磁盘分区相关命令:fdisk、parted;文件系统相关命令:mkfs、dd、partprobe、dumpe2fs、xfs_info; ====================================================================== 磁盘分区相关命令 fdisk 磁盘分区工具(MBR分区,不支持GPT分区)【分区命令当然有非交互的分区方式,但未总结!】 -l 查看分区信息 parted GNU磁盘分区工具(既支持MBR分区,也GPT分区;磁盘小于2T建议用fdisk命令) 注意:分区在被挂载的情况下是不能执行分区的! fdisk命令、parted命令在交互式分区中,fdisk命令需要手动保存才生效,而parted命令分区即生效 ---------------------------------- 文件系统相关命令 mkfs 格式化(本质就是创建文件系统,生成Inode和Block) -t 指定类型,例如:-t ext4(mkfs.ext4) -b 指定block大小(man nkfs时无法看到该参数) -I 指定inode大小(man nkfs时无法看到该参数) mkfs -t ext4 /dev/sdb1 #对/dev/sdb1进行格式化,并指定为ext4 mkfs.ext4 /dev/sdb2 #猜测上一条命令指定类型ext4时,就是使用mkfs.ext4 dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。 dd if=/dev/sda of=/dev/sdc bs=512 count=10240 #创建一个虚拟文件系统 if=来源;of=生成的文件系统;bs=block大小;count=块个数 /proc/partitions #进程盒内核信息的虚拟文件系统 partprobe 使内核立即读取最新的分区表,而不需要重新启动系统 dumpe2fs #查看ext文件系统内部细节(xfs文件系统则需要其他命令查看),示例:dumpe2fs /dev/sdb1 xfs_info #查看xfs文件系统内部细节,示例:xfs_info /dev/sdb2

磁盘挂载相关命令:mount、umount、blkid;磁盘分区管理相关命令:fsck、xfs_repair、free、mkswap、df ====================================================================== 磁盘挂载相关命令 mount 挂载文件系统 -t 指定文件系统类型 -o 挂载的选项;mount -o rw,remount/ -a 挂载所有磁盘(可以将fstab里的信息挂载。) umount 卸载文件系统 -lf 强制卸载文件系统 blkid 查看块设备属性(查看磁盘挂载信息:UUID、文件系统类型) --------------------------------------------------------------------- 磁盘分区管理相关命令 fsck 磁盘检查和修复(1.不要对正常的磁盘进行操作,可能会造成数据丢失!2.先卸载挂载点,再操作) -a 修复磁盘 xfs_repair 检查和修复xfs文件系统 free 查看内存和swap分区的使用情况 mkswap 制作swap分区 df 查看文件系统信息, -i inode信息 -h 以人类可读的形式查看block信息(其实就是占用的空间单位换算成KB,MB,GB)

lsblk命令(list block)用来查看block设备的信息.
主要应用场景: 获取wwnid,获取块设备列表,获取块设备类型(ssd,hdd),获取块设备的size等信息.

$lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 238.5G 0 disk ├─nvme0n1p1 259:1 0 200M 0 part /boot/efi ├─nvme0n1p2 259:2 0 1G 0 part /boot └─nvme0n1p3 259:3 0 237.3G 0 part ├─centos-root 253:0 0 50G 0 lvm / ├─centos-swap 253:1 0 7.8G 0 lvm [SWAP] └─centos-home 253:2 0 179.5G 0 lvm /home $lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 3.7T 0 disk └─sda1 8:1 0 3.7T 0 part #插上硬盘后显示,并且可以看到是未挂载 nvme0n1 259:0 0 238.5G 0 disk ├─nvme0n1p1 259:1 0 200M 0 part /boot/efi ├─nvme0n1p2 259:2 0 1G 0 part /boot └─nvme0n1p3 259:3 0 237.3G 0 part ├─centos-root 253:0 0 50G 0 lvm / ├─centos-swap 253:1 0 7.8G 0 lvm [SWAP] └─centos-home 253:2 0 179.5G 0 lvm /home $mkdir /tmp/kaobao0601 #创建目录用于挂载 $ls /tmp/ kaobao0601 $ls /dev/sda #可以看到硬盘 sda sda1 $ls /dev/sda1 /dev/sda1 $mount /dev/sda1 /tmp/kaobao0601 mount: only root can do that $sudo mount /dev/sda1 /tmp/kaobao0601 #挂载 $ls /tmp/kaobao0601/ file1 file2.7z $sudo umount /tmp/kaobao0601 取消挂载 $lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 3.7T 0 disk └─sda1 8:1 0 3.7T 0 part nvme0n1 259:0 0 238.5G 0 disk ├─nvme0n1p1 259:1 0 200M 0 part /boot/efi ├─nvme0n1p2 259:2 0 1G 0 part /boot └─nvme0n1p3 259:3 0 237.3G 0 part ├─centos-root 253:0 0 50G 0 lvm / ├─centos-swap 253:1 0 7.8G 0 lvm [SWAP] └─centos-home 253:2 0 179.5G 0 lvm /home

系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 资源 # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh <目录名> # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载 # cat /proc/loadavg # 查看系统负载 磁盘和分区 # mount | column -t # 查看挂接的分区状态 # fdisk -l # 查看所有分区 # swapon -s # 查看所有交换分区 # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) # dmesg | grep IDE # 查看启动时IDE设备检测状况 网络 # ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表 # netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连接 # netstat -s # 查看网络统计信息 进程 # ps -ef # 查看所有进程 # top # 实时显示进程状态 用户 # w # 查看活动用户 # id <用户名> # 查看指定用户信息 # last # 查看用户登录日志 # cut -d: -f1 /etc/passwd # 查看系统所有用户 # cut -d: -f1 /etc/group # 查看系统所有组 # crontab -l # 查看当前用户的计划任务 服务 # chkconfig --list # 列出所有系统服务 # chkconfig --list | grep on # 列出所有启动的系统服务 程序 # rpm -qa # 查看所有安装的软件包 其他常用命令整理如下: 查看主板的序列号:dmidecode | grep -i 'serial number' 用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart) 查看CPU信息:cat /proc/cpuinfo [dmesg | grep -i 'cpu'][dmidecode -t processor] 查看内存信息:cat /proc/meminfo [free -m][vmstat] 查看板卡信息:cat /proc/pci 查看显卡/声卡信息:lspci |grep -i 'VGA'[dmesg | grep -i 'VGA'] 查看网卡信息:dmesg | grep -i 'eth'[cat /etc/sysconfig/hwconf | grep -i eth][lspci | grep -i 'eth'] 查看PCI信息:lspci (相比cat /proc/pci更直观) 查看USB设备:cat /proc/bus/usb/devices 查看键盘和鼠标:cat /proc/bus/input/devices 查看系统硬盘信息和使用情况:fdisk & disk – l & df 查看各设备的中断请求(IRQ):cat /proc/interrupts 查看系统体系结构:uname -a 查看及启动系统的32位或64位内核模式:isalist –v [isainfo –v][isainfo –b] 查看硬件信息,包括bios、cpu、内存等信息:dmidecode 测定当前的显示器刷新频率:/usr/sbin/ffbconfig –rev ? 查看系统配置:/usr/platform/sun4u/sbin/prtdiag –v 查看当前系统中已经应用的补丁:showrev –p 显示当前的运行级别:who –rH 查看当前的bind版本信息:nslookup –class=chaos –q=txt version.bind 查看硬件信息:dmesg | more 显示外设信息, 如usb,网卡等信息:lspci 查看已加载的驱动: lsnod lshw 查看当前处理器的类型和速度(主频):psrinfo -v 打印当前的OBP版本号:prtconf -v 查看硬盘物理信息(vendor, RPM, Capacity):iostat –E 查看磁盘的几何参数和分区信息:prtvtoc /dev/rdsk/c0t0d0s 显示已经使用和未使用的i-node数目: df –F ufs –o i isalist –v 对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息: 主机CPU信息:Cpuinfo 主机DMA通道信息:Dma 文件系统信息:Filesystems 主机中断信息:Interrupts 主机I/O端口号信息:Ioprots 主机内存信息:Meninfo Linux内存版本信息:Version 备注: proc – process information pseudo-filesystem 进程信息伪装文件系统 linux查看硬件配置命令 https://www.cnblogs.com/nineep/p/7011059.html
磁盘

磁盘、磁盘分类、磁盘相关名词说明、磁盘容量计算 ----------------------------------------------------------------------------------- hdx:IDE类型磁盘(x为英文abcdefg...,第一块磁盘则是a,第二块磁盘则是b,以此类推) sdx:SAS/SATA/SCSI类型磁盘 对应到linux系统中的/dev/sda、/dev/sdb、/dev/sdc ---------------------------------------- 按原理分类: HDD(Hard Disk Driver):传统硬盘,即机械硬盘 SSD(Solid State Disk):固态硬盘 按接口类型分类: IDE、SATA、SCSI、SAS、FC等等。 SATA硬盘(Serial ATA口硬盘,串口硬盘) SAS(Serial Attached SCSI)即串行连接SCSI,是新一代的SCSI技术。 SSD固态硬盘(Solid State Disk或Solid State Drive),也称作电子硬盘或者固态电子盘 IDE硬盘【停用】(也叫ATA(Advanced Technology Attachment))【2006以前使用,2010年退出历史。】 SCSI【停用】:早期服务器级别硬盘SCSI,2006以前使用。 个人电脑硬盘:SATA、SSD固态盘。 服务器硬盘:SAS、SSD固态盘,偶尔用SATA 性能|价格:SSD>SAS>SATA 企业生成场景普及程度:SAS>SSD>SATA 不差钱、需要高性能企业:选SSD更多 追求性价比的企业:SSD和SAS搭配。 案例:早期淘宝SSD+SATA(热数据储存在SSD,不常用的数据储存在SATA;效果:省钱,效果不能降低。) 磁盘选购小结: 1.线上业务用SAS磁盘 2.线下业务用SATA磁盘(备份数据用) 3.线上高并发、小容量的业务用SSD磁盘 4.成本思想:根据数据的访问热度,智能分层分析存储,SATA+SSD ---------------------------------------- 磁盘相关名词说明 Disk 磁盘 head 磁头 sector 扇区 track 磁道 cylinder 柱面 units 单元块 block 数据块 inode 索引节点 ---------------------------------------- 磁盘容量计算方式: 扇区容量*每磁道扇区数*每盘面磁道数*磁头数【一般情况下一个扇区容量为512字节】 不同磁道的扇区,看起来面积是不一样大的;但是计算时,储存容量是一样大的,都为512字节 [root@yefeng28325 ~]# fdisk -l #该命令在centos6中可以看到磁头、扇区数、柱面等数据;但centos7不显示了
RAID、LVM

RAID磁盘阵列、RAID等级、LVM逻辑卷管理、RAID与LVM的区别 --------------------------------------------------------------------- RAID磁盘阵列(Redundant Arrays of Independent Disks) 磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组;在逻辑上看起来就是一块磁盘,可以提供比单个物理磁盘更大的存储容量or更高的存储性能,同时又能提供不同级别数据冗余备份。 RAID技术主要有以下三个基本功能: (1)通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度。 (2)通过对一个阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度。 (3)通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。 RAID等级: RAID0:容量、读取性能是所有磁盘的总和,不提供冗余,坏一块盘,整个RAID都不能使用。 RAID0 具有低成本、高读写性能、 100% 的高存储空间利用率等优点 RAID0 实际上不是一种真正的 RAID ,因为它并不提供任何形式的冗余策略。 生产应用场景: 1.负载均衡集群下面的多个相同RS节点服务器 2.分布式文件存储下面的主节点或chunk server 3.mysql主从复制的多个slave服务器 4.对性能要求很高,对冗余要求很低的相关业务 RAID1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像 磁盘 提供100%冗余,但磁盘空间利用率为 50%,读取性能不变 生产应用场景:单独的,数据重要且不能宕机的业务。监控、系统盘 RAID5 应该是目前最常见的 RAID 等级,校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。 RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案。 RAID5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。 生产应用场景:对性能和安全要求不是很高的业务都可以用 RAID01 是先做条带化再作镜像,本质是对物理磁盘实现镜像; RAID10 是先做镜像再作条带化,是对虚拟磁盘实现镜像。 相同的配置下,通常 RAID10 比 RAID01 具有更好的安全性:我们假设4块磁盘DISK0、DISK1、DISK2、DISK3,当DISK0损坏时,RAID10在剩下的3块盘中,只有当DISK1一个盘发生故障时,才会导致整个RAID失效,我们可简单计算故障率为1/3;RAID01在剩下的3块盘中,只要DISK2,DISK3两个盘中任何一个损坏,都会导致整个RAID失效,我们可简单计算故障率为2/3。 生产应用场景:性能和冗余要求很很高的业务,数据库和存储的主节点 ------------------------ LVM逻辑卷管理(Logical Volume Manager)。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。 LVM最大用途是可以【灵活的管理磁盘的容量】,让磁盘分区可以随意放大或缩小,便于更好的应用磁盘的剩余空间,如果过于强调性能与备份,那么还是应该使用RAID功能,而不是LVM。 LVM是软件层面实现的,性能太低。性能降低5-10%。买服务器插满磁盘,分区规划好,永远都不需要LVM。 ------------------------ RAID与LVM的区别: LVM:灵活的管理磁盘容量,有一定的冗余和性能功能,但很弱。 RAID:更侧重性能和数据安全。 RAID是将多块磁盘组成一块磁盘;LVM则是将不同磁盘的多个分区进行在逻辑上集合 我的理解:RAID是一块磁盘完成格式化之前就要进行的操作;而LVM是将一个或多个硬盘的分区在逻辑上集合,是基于软件实现的;这是最大的区别 /boot分区 256M 永远没有需求调整。 swap分区(内存1.5倍,内存大于8G则1:1)没有需求调整,有调整也不用LVM. /根分区 所有都给。

硬件层面如何提升设备性能
要提升性能就要清楚限制性能的瓶颈在哪:比如一块内存支持的带宽为10G,一块SSD硬盘支持的带宽为2G;此时实际配置了1块内存和10块SSD硬盘(10块SSD使用RAID0则支持的带宽为20G),那么此时的瓶颈在于内存,得增加内存的性能了
磁盘分区

(MBR分区)磁盘分区命名、磁盘分区类型、磁盘分区原理、生产场景的分区方案 这里以MBR分区来讲述磁盘分区原理,GPT分区大同小异 ---------------------------------------------------------------------------------------- 磁盘和分区在Linux里的命名。 IDE磁盘 /dev/hda /dev/hdb SCSI磁盘 /dev/sda /dev/sdb 磁盘分区数字表示:/dev/sda1 /dev/sda2 /dev/sda3 --------------------------------------------- 磁盘分区类型: 1、主分区(primary)P 1)系统中必须要存在的分区,系统盘选择主分区安装。 2)数字编号只能是1-4.sda1、sda2、sda3、sda4。 3)主分区最多四个,最少一个。 2、扩展分区(extend)E 1)相当于一个独立的小磁盘。独立的分区表,不能独立存在。 2)有独立的分区表。 3)不能独立存在,即不能直接存放数据。 4)必须在扩展分区上建立逻辑分区才能存放数据。 5)占用主分区的编号(主分区+扩展分区)之和最多4个。 6)扩展分区可以没有,最多只能有一个。 3、逻辑分区(logic)L 2)数字编号只能是从5开始。 3)存放于扩展分区之上。 4)存放任意普通数据。 磁盘分区注意事项要点: 1.主分区+扩展分区最多4个;其中不设置扩展分区 2.逻辑分区是基于扩展分区的二次分区,所以必须存在扩展分区;逻辑分区的数字编号最小为5 --------------------------------------------- 磁盘分区原理: 磁盘的分区就是修改64字节磁盘分区表 磁盘的0磁道0磁头1扇区共512字节=前446字节的系统引导信息+64字节的磁盘分区表+2字节分区结束标志 MBR(Main Boot Record 主引导记录区)位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的446个字节,另外的64个字节交给了DPT(Disk Partition Table硬盘分区表),最后两个字节“55,AA”是分区的结束标志。这个整体构成了硬盘的主引导扇区。 --------------------------------------------- 生产场景的分区方案: 分区说明: /根分区 Linux系统必须要有的,相当于 Windows的C盘,系统程序相关的。 /boot分区 存放内核相关程序,是可选的,centos5/centos6至少给200M,centos7至少给256M(工作中1-2G) swap分区 虚拟分区,作用内存不够的时候,系统就会把swap当做内存用。作用:防止因为内存不够死机(内存不够,swap分区来凑)。 物理内存小于8G,就按1.5倍内存来给,例如:2G内给3G swap大小;物理内存在8G以上,一般就给8G(可以给1.5倍)。 (1)普通分区形式: /boot 引导分区:256M swap 交换分区:内存大于8G,给8G。内存小于8G,给到1.5倍的内存。 / 给所有空间 使用条件: 1、数据不那么重要。 2、必须要有备份策略: 内部人员发布数据,同时发布到两台以上生产服务器里。是三个备份,GIT上,代码。 外部用户写入数据(图片、视频 文字), 同时发布到两台服务器后面共享的服务器上(对这个共享服务器做备份),两个备份。 (2)存储服务器(含数据库)的分区方式: /boot 引导分区:256M swap 交换分区:内存大于8G,给8G。内存小于8G,给到1.5倍的内存。 / :给100G /data:剩余给数据分区 ,data可以是任意名称。 (3)门户网站的分区方案 /boot 引导分区:256M swap 交换分区:内存大于8G,给8G。内存小于8G,给到1.5倍的内存。 / :给100G 剩余保留,将来哪个部门使用,使用部门自己分剩余的分区。 (4)不少网友错误分区方案 /boot 引导分区:256M swap 交换分区:内存大于8G,给8G。内存小于8G,给到1.5倍的内存。 /home 家目录 /var /usr /

MBR和GPT的区别、fdisk分区实战、parted分区实战 ------------------------------------------------------------------------------------------------------------ MBR和GPT的区别 1、分区:mbr最多支持四个主分区,gpt没有限制。如果你想跑多系统,mbr最多4个而gpt没有限制。 2、系统:win7只能用mbr分区(也可以但是很麻烦,不建议),从Win8开始微软建议你使用gpt。 3、其它:gpt是由uefi启动的,而uefi是后来才提出的概念,兼容性和稳定性不如bios+mbr。 -------------------------------------------------------- fdisk分区实战 1.在VMware中为虚拟机添加一块1G的硬盘 2.查看到第二块硬盘/dev/sdb(如果没有的话,重启一下虚拟机) [root@localhost ~]# fdisk -l 3.开始对/dev/sdb进行分区(详细步骤跳过,主要要w保存才生效) fdisk /dev/sdb #默认方式是交互式地进行分区 fdisk /dev/sdb #进入交互式的分区界面 Command (m for help): m #<==查看分区的帮助信息。 Command action 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.方式1:partprobe /dev/sdb #使内核立即读取最新的分区表,而不需要重新启动系统 方式2:重启系统 -------------------------------------------------------- parted分区实战 1.交互式分区: parted /dev/sdb 2.非交互式分区: parted /dev/sdb mklabel gpt #修改分区格式为gpt parted /dev/sdb mklabel msdos #修改分区格式为msdos parted /dev/sdb mkpart primary 0 100 #创建一个100M的主分区 parted /dev/sdb mkpart primary 101 200 #创建一个100M的主分区 parted /dev/sdb mkpart primary 201 400 #创建一个200M的主分区 parted /dev/sdb mkpart logic 401 600 #创建一个200M的逻辑分区(gpt分区中是可以直接分配逻辑分区的!不需要先分配拓展分区) parted /dev/sdb rm 3 #删除第三个分区 parted /dev/sdb p #查看分区情况
文件系统、swap分区

文件系统、swap分区及制作swap分区 ---------------------------------------------------------------- 文件系统 1.文件系统是计算机存储和组织数据的方法or机制;文件系统本质是一个软件 2.文件系统的意义:硬件需要软件驱动才能使用,磁盘需要文件系统驱动;文件系统通过磁盘管理规划、存取数据 3.文件系统的分类: windows:NTFS、fat32、msdos linux:ext2、ext3(centos5)、ext4(centos6)、Xfs(centos7) 4.创建文件系统(即格式化) 5.文件系统原理、特点(主讲ext4) 6.企业中如何选择文件系统 7.企业中如何优化文件系统 细节待补充,视频课程貌似567三点都没讲 ------------------------------------------------------ swap功能:当内存不够时,充当内存;一般设置为内存的1.5倍,当内存大于8G时,设置1倍,即给8G 测试制作一个swap分区 dd if=dev/zero of=/dev/sdd bs=512 count=20480 mkswap /dev/sdd #制作一个swap分区 企业案例: tomcat(网站服务)--java语言编写的程序, 运行过程中比较消耗内存 临时需要添加内存 --- 将硬盘空间临时充当内存使用 -- swap分区 如何调正swap分区大小 从磁盘中取出一定空间重当内存使用 命令行输入:dd if=/dev/zero of=/tmp/1G bs=100M count=10 10+0 records in 10+0 records out 1048576000 bytes (1.0 GB) copied, 25.9294 s, 40.4 MB/s
挂载

挂载;磁盘挂载;光盘挂载;U盘挂载 ---------------------------------------------------------------------------------- 挂载:硬件是无法直接进行访问的,即用户无法直接进入/dev/sda1的;而挂载就是为分区打开一个入口,用户可以通过这个入口访问磁盘分区 挂载点:分区入口的目录名,/etc就是分区/dev/sda1的挂载点。 并不是根目录下任何一个目录都可以作为挂载点,由于挂载操作会使得原有目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,会造成系统异常甚至崩溃,挂载点最好是新建的空目录。 常用的临时挂载点/mnt 磁盘临时挂载mount #mount本质就是修改/proc/mounts文件 磁盘自动挂载: 方式1:修改/etc/fstab文件(修改后需重启系统) UUID=f9c2ce07-2674-4e44-b5ee-5a9daea47272 swap swap defaults 0 0 设备orUUID;挂载点;文件系统类型;默认挂载选项;是否备份;是否开机进行磁盘检查 方式2:(不推荐)修改/etc/rc.local,增加:/sbin/mount -t xfs /dev/sdb2 /opt 光盘挂载:光盘挂载的前提是知道光盘的设备文件名,不同版本的Linux,设备文件名不尽相同 CentOS 5.x以前的系统,光盘设备文件名是/dev/hdc CentOS 6.x以后的系统,光盘设备文件名是/dev/sr0(若有多个则为/dev/sr1、/dev/sr2…) 另外不论哪个版本的Linux系统对于光盘文件都有软链接,名子都是/dev/cdrom,在挂载的时候可以使用软链接挂载,但推荐直接使用设备文件名进行挂载 U盘挂载:Linux中U盘和硬盘的设备文件名是通用的,也就是说U盘的设备文件名的命名方式和硬盘一样,不过是在硬盘之后命名,所以U盘的设备文件名不是固定的(因为系统的硬盘数不是固定的导致),需要手工查询,查询命令:fdisk -l,用来查询系统识别到的硬盘设备 ---------------------------------------------------------------------------------- [root@localhost ~]# df -h #查看挂载信息 Filesystem Size Used Avail Use% Mounted on /dev/sda2 18G 2.6G 14G 16% / tmpfs 491M 376K 490M 1% /dev/shm /dev/sda1 283M 35M 233M 14% /boot /dev/sr0 3.8G 3.8G 0 100% /media/CentOS_6.10_Final 磁盘(光盘镜像) 挂载点(设置VMware,插入光盘会自动挂载) [root@localhost ~]# ls /dev/sr0 #这里的示例是在虚拟机上接入了一个光驱;接入磁盘后,可以在/dev下查看到磁盘(光盘镜像); /dev/sr0 [root@localhost ~]# cd /dev/sr0 #linux里的分区默认是不能访问的,需要进行挂载才能访问 bash: cd: /dev/sr0: Not a directory /media /mnt只是约定俗成的挂载点,当然是可以挂载到其他地方的 [root@localhost ~]# umount /media/CentOS_6.10_Final #卸载 [root@localhost ~]# ls /media/CentOS_6.10_Final/ #卸载后讲无法读取该文件 ls: cannot access /media/CentOS_6.10_Final/: No such file or directory [root@localhost ~]# mount /dev/sr0 /mnt #挂载到/mnt下;(可以同时设置多个挂载点!) [root@localhost ~]# mount /dev/sr0 /root/test_folder #挂载到自定义文件夹test_folder下 [root@localhost ~]# mount /dev/cdrom test_folder/ #挂载cdrom和sr0效果一样,指向同一个光驱

自动挂载软件autofs(ls /misc/cd) ======================================================= /misc 有点类似于自动挂载,但又不是挂载 也就是说不需要挂载,就可以进入/misc进行操作,查看挂载设备 C7需要安装这个软件 autofs yum install autofs #自动挂载服务 systemctl start autofs systemctl enable autofs ls /misc/cd #看了一下这个文件夹,光盘就自动挂载了
1111111111
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!