第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
磁盘分区相关命令:fdisk、parted;文件系统相关命令:mkfs、dd、partprobe、dumpe2fs、xfs_info;
复制代码
复制代码
磁盘挂载相关命令: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)
磁盘挂载相关命令:mount、umount、blkid;磁盘分区管理相关命令:fsck、xfs_repair、free、mkswap、df
复制代码
 
lsblk命令(list block)用来查看block设备的信息.
    主要应用场景: 获取wwnid,获取块设备列表,获取块设备类型(ssd,hdd),获取块设备的size等信息.
lsblk命令

 

复制代码
$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
记录一次挂载过程20230601
复制代码

 

复制代码
系统
  # 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.
    /根分区  所有都给。
RAID磁盘阵列、RAID等级、LVM逻辑卷管理、RAID与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分区)磁盘分区命名、磁盘分区类型、磁盘分区原理、生产场景的分区方案
复制代码

 

复制代码
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                           #查看分区情况
MBR和GPT的区别、fdisk分区实战、parted分区实战
复制代码

 文件系统、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    
文件系统、swap分区及制作swap分区
复制代码

挂载

复制代码
挂载;磁盘挂载;光盘挂载;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效果一样,指向同一个光驱
挂载;磁盘挂载;光盘挂载;U盘挂载
复制代码
复制代码
自动挂载软件autofs(ls /misc/cd)
=======================================================
/misc  有点类似于自动挂载,但又不是挂载
也就是说不需要挂载,就可以进入/misc进行操作,查看挂载设备
C7需要安装这个软件 autofs



yum install autofs           #自动挂载服务
systemctl start autofs
systemctl enable autofs
ls /misc/cd   #看了一下这个文件夹,光盘就自动挂载了
自动挂载软件autofs(ls /misc/cd)
复制代码

 

 

 

 

 

 

1111111111

posted @   雲淡風輕333  阅读(329)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 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框架的用法!
点击右上角即可分享
微信分享提示