Linux :linux系统磁盘(fdisk、partprobe、mkfs、mount、df、sort、swap、inode、block)

02. linux系统磁盘概念

磁盘的结构体系
01. 磁盘的物理结构 (外部结构 内部结构) 工作原理(先切换磁头 让磁头镜像运动)  OK
02. 磁盘阵列说明   (raid0 raid1 raid5 raid10 raid01)
    磁盘阵列如何配置
    配置LVM  L 逻辑  v 卷组  M 管理  逻辑卷管理 --> 实现可以随意调整磁盘分区大小
03. 磁盘分区概念
    给容量较小的磁盘进行分区: 小于2T  fdisk
    给容量较大的磁盘进行分区: 大于2T  parted
04. 磁盘格式化操作(创建文件系统)
05. 磁盘维护管理知识(如何使用磁盘 挂载使用)
   

03. 磁盘层次结构详细说明--物理结构

磁盘的外部结构: 看的见摸得到的结构
组成部分
a 磁盘主轴  决定磁盘转速(rpm-round per minute)
  家用磁盘转速  7200 rpm 5400 rpm
  企业磁盘转速  15k  rpm  10k rpm
b 磁盘盘片  用于存储数据
c 磁盘磁头  用于读取数据
d 磁盘接口  用于连接主板 用于连接阵列卡

磁盘的内部结构: 看不见的结构信息
组成部分:
a 磁盘(Disk)
b 磁头(Head)
  作用说明:用来写入和读取数据的
  特点说明:盘面数量等于磁头数量
  工作原理:采用径向运动读写数据
c 磁道(Track)
  作用说明:用来存储用户数据
  特点说明:由多个同心圆组成

  存储计数:最外面同心圆为0磁道
  工作原理:磁盘默认按照磁道寻找数据
            重点原理:磁头径向运动为机械运动(寻道)  性能小于固态硬盘(芯片)
            原理特点:磁头机械运动较慢
d 扇区(Sector)
  作用说明:用来存储用户数据
  特点说明:磁盘存储最小单位
  存储计数:默认磁盘扇区从1扇区开始,扇区大小为512字节
  系统存储最小单位是block
e 柱面(Cylinder)
  作用说明:用来存储用户数据
  特点说明:不同盘面上相同的磁道组成(圆柱体)
  工作原理:磁盘默认按照柱面进行读写
            重点原理:磁头之间的切换为电子切换
            原理特点:磁头电子切换较快
f 单元块(Units)
  作用说明:用来存储用户数据
  特点说明:表示单个柱面大小
   

04. 磁盘层次结构详细说明--磁盘阵列raid

阵列有什么用?
1) 提高磁盘存储效率
2) 提高磁盘存储安全
3) 提高磁盘存储容量
阵列的配置方法:
raid 0   存储数据效率高  存储安全性低
raid 1   存储数据效率低  存储安全性高

raid 5   存储数据效率较高  存储安全性较高
说明: 至少有3块磁盘  raid5阵列中只能最多坏一块磁盘  损耗一块磁盘的容量
300G 300G 300G --> raid5 --> 600G
LVM 实现分区可以弹性缩融 和 扩容

05. 磁盘层次结构详细说明--磁盘分区方法

预备知识:
a 系统启动引导记录--
  MBR引导记录  用于引导磁盘空间小于2T
  GPT引导记录  用于引导磁盘空间大于2T

b 分区方式
  情况一:
  可以划分4个主分区  /dev/sda  /dev/sda1 .. sda4   mount /dev/sda1  /mnt
  情况二:
  可以划分3个主分区    /dev/sda  /dev/sda1 .. sda3
  可以划分1个扩展分区  扩展分区无法直接使用
  需要在扩展分区基础上划分逻辑分区:  /dev/sda5 /dev/sda6 ...    

02. 磁盘层次结构--磁盘分区方法

情况一: 磁盘分区实践--磁盘小于2T

第一个里程: 准备磁盘环境
准备了一块新的10G硬盘
第二个里程: 在系统中检查是否识别到了新的硬盘
检查是否有新的磁盘存储文件
[[email protected] ~]# ll /dev/sdb
brw-rw----. 1 root disk 8, 16 Apr 28 08:54 /dev/sdb 
第三个里程: 对磁盘进行分区处理(fdisk-- 进行分区处理 查看分区信息)
fdisk -l   --- 查看分区信息
[[email protected] ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x6c918c6d.

Command (m for help):   可以对磁盘进行分区了
Command action
d   delete a partition  *****
    删除分区
g   create a new empty GPT partition table
    创建一个新的空的GPT分区表(可以对大于2T磁盘进行分区)
l   list known partition types
    列出可以分区的类型???
m   print this menu
    输出帮助菜单
n   add a new partition  *****
    新建增加一个分区
p   print the partition table  *****
    输出分区的结果信息
q   quit without saving changes
    不保存退出
t   change a partition's system id
    改变分区的系统id==改变分区类型(LVM 增加swap分区大小)
u   change display/entry units
    改变分区的方式  是否按照扇区进行划分
w   write table to disk and exit  *****
    将分区的信息写入分区表并退出==保存分区信息并退出
开始分区:
a 规划分4个主分区 每个分区1G
分区操作过程
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-20971519, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +1G
Partition 1 of type Linux and of size 1 GiB is set
分区操作检查:
Command (m for help): p
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x3069f1dd

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     4196351     1048576   83  Linux
/dev/sdb3         4196352     6293503     1048576   83  Linux
/dev/sdb4         6293504     8390655     1048576   83  Linux

Command (m for help): n
If you want to create more than four partitions, you must replace a
primary partition with an extended partition first.

b 规划分3个主分区 1个扩展分区 每个主分区1G  剩余都给扩展分区
删除分区
Command (m for help): d
Partition number (1-4, default 4): 1
Partition 1 is deleted  
创建逻辑分区
Command (m for help): p

Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x3069f1dd

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     4196351     1048576   83  Linux
/dev/sdb3         4196352     6293503     1048576   83  Linux
/dev/sdb4         6293504    20971519     7339008    5  Extended   有了扩展分区才能逻辑分区

Command (m for help): n
All primary partitions are in use
Adding logical partition 5
First sector (6295552-20971519, default 6295552):
Using default value 6295552
Last sector, +sectors or +size{K,M,G} (6295552-20971519, default 20971519): +1G
Partition 5 of type Linux and of size 1 GiB is set

Command (m for help): p
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x3069f1dd

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     4196351     1048576   83  Linux
/dev/sdb3         4196352     6293503     1048576   83  Linux
/dev/sdb4         6293504    20971519     7339008    5  Extended
/dev/sdb5         6295552     8392703     1048576   83  Linux

需求: 划分2个主分区 划分2个逻辑分区
sdb1  2G
sdb2  2G
sdb5  3G
sdb6  1G
  
第四个里程: 保存退出,让系统可以加载识别分区信息
让系统可以加载识别分区文件
partprobe /dev/sdb 

情况二: 磁盘分区实践--磁盘大于2T

第一个里程: 准备磁盘环境
虚拟主机中添加一块3T硬盘
第二个里程: 使用parted命令进行分区
mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
                                         创建一个分区表 (默认为mbr)
print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space, all found
                                         partitions, or a particular partition
                                         显示分区信息
mkpart PART-TYPE [FS-TYPE] START END     make a partition
                                         创建一个分区
quit                                     exit program
                                         退出分区状态
rm NUMBER                                delete partition NUMBER
                                         删除分区 

修改磁盘分区类型: mklabel gpt
分区方法: mkpart primary 0  2100G
第三个里程: 加载磁盘分区
partprobe /dev/sdc
  

03. 磁盘层次结构--格式化操作(创建文件系统)

mkfs.xfs  /dev/sdb1
mkfs -t xfs /dev/sdb2

创建文件系统: 磁盘分区存储数据的方式

ext3/4  centos6
xfs     centos7  格式效率较高  数据存储效率提升(数据库服务器)

[[email protected] /]# mkfs.xfs /dev/sdb2
meta-data=/dev/sdb2              isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

04. 磁盘层次结构--磁盘挂载应用

mount /dev/sdb1 /mount01
mount /dev/sdb2 /mount02    
检查确认:
[[email protected] /]# df -h
/dev/sdb1      1014M   33M  982M   4% /mount01
/dev/sdb2      1014M   33M  982M   4% /mount02
如何实现开机自动挂载:
方法一: 将挂载命令放入/etc/rc.local
[[email protected] /]# tail -2 /etc/rc.local
mount /dev/sdb1 /mount01
mount /dev/sdb2 /mount02

系统开机加载rc.local流程:
加载/etc/rc.local --> /etc/rc.d/rc.local --> 以绝对路径方式执行
/etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
方法二: 在/etc/fstab文件中进行设置
UUID=e2fc8646-2b36-47cc-a35a-8c13208f4d0b /          xfs                 defaults            0             0
UUID=34fc45ba-c38c-42bc-a120-90f9d5dd2382 /boot      xfs                 defaults            0             0
UUID=62100743-6f8a-4f83-a37d-e2088c4830e2 swap       swap                defaults            0             0
挂载磁盘文件(存储设备)                   挂载点     指定文件系统类型   挂载的参数    是否备份磁盘  是否检查磁盘
mount 挂载的磁盘文件 挂载点
[[email protected] ~]# tail -2 /etc/fstab
/dev/sdb1                                 /mount01                xfs     defaults        0 0
UUID=144738ff-0da3-4162-b574-40af379cbe9e /mount02                xfs     defaults        0 0

05. 企业磁盘常见问题:

1) 磁盘满的情况 No space left on device

a 存储的数据过多了
     模拟磁盘空间不足
     dd if=/dev/zero of=/tmp/oldboy.txt  bs=10M count=100
     block存储空间不足了
     解决方式:
a 删除没用的数据
b 找出大的没用的数据
       find / -type f -size +xxx
       du -sh /etc/sysconfig/network-scripts/*|sort -h
补充: 按照数值排序命令
   [[email protected] mount01]# cat num.txt |sort -n
   # 1
   # 10
   # 11
   # 12
   # 2
   # 3
   # 6
   # 9
   [[email protected] mount01]# cat num.txt |sort -n -k2
   # 1
   # 2
   # 3
   # 6
   # 9
   # 10
   # 11
   # 12
b 存储的数据过多了
   inode存储空间不足了: 出现了大量小文件      

06. 如何调整swap分区大小

第一个历程: 将磁盘分出一部分空间给swap分区使用

dd if=/dev/zero  of=/tmp/1G  bs=100M count=10

第二个历程: 将指定磁盘空间作为swap空间使用

[[email protected] tmp]# mkswap /tmp/1G
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=6dd70684-dec2-48cf-8fd9-f311548bbb4f

第三个历程: 加载使用swap空间

[[email protected] tmp]# swapon /tmp/1G
swapon: /tmp/1G: insecure permissions 0644, 0600 suggested.
[[email protected] tmp]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.9G        225M        575M        9.6M        1.2G        1.5G
Swap:          2.0G          0B        2.0G
[[email protected] tmp]# swapoff /tmp/1G
[[email protected] tmp]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.9G        224M        576M        9.6M        1.2G        1.5G
Swap:          1.0G          0B        1.0G
[[email protected]yedu tmp]# rm /tmp/1G -f

07. 磁盘知识总结

1) 掌握磁盘体系结果
2) 磁盘的内部和外部结构(磁头 磁道 扇区 柱面) 运维---存储服务
3) 磁盘分区的方法
   fdisk  划分小于2T的磁盘
   parted 划分大于2T的磁盘
4) 如何实现格式化和自动挂载 存储服务nfs
   /etc/rc.local
   /etc/fstab 
5) 磁盘分区满的原因 No space left on device
a block占用过多了
     df -h
     解决方式: 删除大的没用的数据
     如何找到大的文件
     find / -type f -size +500M|xargs rm
     du -sh /etc/sysconfig
b inode占用过多了
     df -i
     解决方式: 删除大量的没用的小文件
6) 如何调整swap空间大小 --- tomcat(java) 512M
   dd
   mkswap
   swapon/off
  

原文地址:https://www.cnblogs.com/moox/p/12219800.html

时间: 2024-10-10 13:04:41

Linux :linux系统磁盘(fdisk、partprobe、mkfs、mount、df、sort、swap、inode、block)的相关文章

Linux磁盘 - fdisk,partprobe, mkfs, mke2fs, fsck, badblocks, mount, mknod

磁盘分区: fdisk [[email protected] ~]# fdisk [-l] 装置名称 选项与参数: -l :输出后面接的装置所有的 partition 内容.若仅有 fdisk -l 时, 则系统将会把整个系统内能够搜寻到的装置的 partition 均列出来. 范例:找出你系统中的根目录所在磁盘,并查阅该硬盘内的相关信息 [[email protected] ~]# df / <==注意:重点在找出磁盘文件名而已 Filesystem 1K-blocks Used Availa

物理机异常断电,linux虚拟机系统磁盘mount失败,导致无法启动

(1).报错如下(2)进入/run/initramfs查看详细的报错日志rdsosreport.txt 发现执行mount /dev/mapper/centos-root /sysroot命令的时候,挂载失败了3).手动执行mount /dev/mapper/centos-root /sysroot命令,发现提示Structureneeds cleaning.需要清除结构(4)当mount硬盘出现"mount:Structure needs cleaning"报错, 遇到这种情况时,可

Linux 系统磁盘空间占满,df 和 du 结果不一致

服务器运行一段时间后df查看磁盘剩余空间不足,通过du统计发现被几个文件占用,遂删除之.过了一段时间磁盘空间再次不足,通过du统计却找不到那么多大文件.搜索后才得知原因:文件删除后空间没有释放,du统计不到这部分文件:需要通过lsof排查,然后kill文件进程.以下记录排查处理过程: df查看分区使用情况 df(Disk Free) 以磁盘分区为单位查看文件系统,获取硬盘被占用空间和剩余空间等信息.df 默认显示的文件大小单位Byte:使用命令df -h,以KB,MB,GB为单位,提高可读性.

Linux下查看磁盘与目录的容量——df、du

df:列出文件系统的整体磁盘使用量: du:评估文件系统的磁盘使用量(常用于评估目录所占容量) df参数: -a:列出所有的文件系统,包括系统特有的/proc等文件系统 -k:以KB的容量显示各文件系统 -m:以MB的容量显示各文件系统 -h:以人们较易阅读的GB,MB,KB等格式自行显示 -H:以M=1000K替代M=1024K的进位方式 -T:连同该分区的文件系统名称(例如ext3)也列出 -i:不用硬盘容量,而以inode的数量来显示 范例: ① 在linux下,如果df没有加任何参数,默

Linux系统磁盘分区及挂载 - fdisk

Linux系统磁盘分区及挂载 - fdisk 文本关键字:文件系统,磁盘分区,格式化,挂载 一.文件系统 1. 文件系统的作用 当我们拿到一块新的硬盘时,他所能够支持的最大空间只是代表硬件上的一个参数,我们要想让他能够正常的工作起来,必须要有相应的文件系统.文件系统决定了文件存储和管理时的方式和数据结构,也就是如何管理磁盘上的文件和文件夹.不同的文件系统拥有不同的特点,这也就是为什么我们在进行格式化操作必须要选定一种文件系统的原因.当在一个操作系统(Windows.Linux.MacOS)中使用

Linux CentOS 7 磁盘格式化mke2fs、mkfs.ext4、磁盘挂载及手动增加swap空间

一. 磁盘格式化 查看系统支持的分区类型: cat /etc/filesystems [[email protected] ~]# cat /etc/filesystems  xfs ext4 ext3 ext2 nodev  procnodev  devpts iso9660 vfat hfs hfsplus* [[email protected] ~]# mountsysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)proc o

攻城狮在路上(叁)Linux(二十二)--- linux磁盘挂载与卸载 mount umount

挂载就是将文件系统与目录结合的操作.挂载点就是目录,该目录就是进入分区或文件系统的入口. 一.挂载前的注意事项: 1.单一文件系统不应该被重复挂载在不同的挂载点中. 2.单一目录不应该重复挂载多个文件系统. 3.即将作为挂载点的目录理论上应该都是空目录才对. 注意:对应2和3,如果要挂载的目录不为空,那么挂载了新的文件系统之后,原来的目录会暂时消失(并非覆盖掉),系统会显示最新挂载的文件系统.新分区被卸载之后,原来的文件系统会重新显示出来. 二.命令介绍 mount [-t 文件系统] [-L

Day 7 Linux之系统监控、硬盘分区等

Linux之系统监控.硬盘分区等 系统监控 系统监视和进程控制工具—top和free 1) 掌握top命令的功能:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. 2) 了解使用top命令列出系统状态时,系统默认每5秒刷新一下屏幕上的显示结果.  1.第一行是任务队列信息 14:54:36 当前时间 up 3:42 系统运行时间(时:分) 3 users 当前登录用户数 load average:0.03 0.05 0.10

LINUX扩展根目录磁盘空间(LINUX LVM )

linux扩展根目录磁盘空间(linux lvm ) 扩展目标分区前提: 扩展的分区必须要是linux lvm卷如下截图(分区/dev/sda1不可以扩展,分区/dev/sda2可以扩展) 提示:决定linux lvm的因素是磁盘第一次分区时候选择的分区格式决定的.如下图列出了linux下支持的分区格式 SSH Secure Shell 3.2.9 (Build 283) Copyright (c) 2000-2003 SSH Communications Security Corp - htt