Linux fdisk实战 && 挂载参数优化

简介: Linux fdisk实战 && 挂载参数优化

为什么需要分区?


优化I/O性能

实现磁盘空间配额限制

提高修复速度

隔离系统和程序

安装多个OS

采用不同文件系统

给vagrant拉起来的机器加一块硬盘


2fd23cc09a174b5c81c0ed120fab2da6.png

通过VBoxManage 工具给虚拟机增加硬盘.


2022-07-22 15:49:31

#1、 创建50GB 的vdi硬盘
VBoxManage createvdi --filename "/gpmaster/gpseg-1_down/VirtualBox VMs/meta_meta_1651042401911_2096/meta-50g.vdi" --size 51200
#2、将第一步创建的硬盘attach到虚拟机上  
VBoxManage storageattach meta_meta_1651042401911_2096 --storagectl SATA --port 0 --device 0 --type hdd --medium "/gpmaster/gpseg-1_down/VirtualBox VMs/meta_meta_1651042401911_2096/meta-50g.vdi"
# 3、如果第二步报错: sata控制器未开启先执行以下命令开启再执行第二步(必须关机状态)
VBoxManage storagectl meta_meta_1651042401911_2096 --name SATA --add sata --controller IntelAhci --bootable on

[1]lsblk查看新加的硬盘


[root@meta /etc/prometheus]#df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  7.8G     0  7.8G   0% /dev
tmpfs          tmpfs     7.8G  180K  7.8G   1% /dev/shm
tmpfs          tmpfs     7.8G  156M  7.7G   2% /run
tmpfs          tmpfs     7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda1      xfs        40G   39G  1.5G  97% /
tmpfs          tmpfs     1.6G     0  1.6G   0% /run/user/0
[root@meta /etc/prometheus]#fdisk -l /dev/sdb
Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 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
[root@meta /etc/prometheus]#lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda      8:0    0  40G  0 disk
`-sda1   8:1    0  40G  0 part /
sdb      8:16   0  50G  0 disk

[2]fdisk格式化硬盘


[root@meta /etc/prometheus]#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 0x1daa8e3b.
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)
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-104857599, default 2048):# 扇区起始位置
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599):# 扇区结束位置
Using default value 104857599
Partition 1 of type Linux and of size 50 GiB is set
Command (m for help): p
Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 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: 0x1daa8e3b
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   104857599    52427776   83  Linux
Command (m for help): w # 保存
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@meta /etc/prometheus]#
[root@meta /etc/prometheus]#lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda      8:0    0  40G  0 disk
`-sda1   8:1    0  40G  0 part /
sdb      8:16   0  50G  0 disk
`-sdb1   8:17   0  50G  0 part

[3]重新载入磁盘分区信息


[root@meta /etc/prometheus]#partprobe /dev/sdb # 重新载入磁盘分区信息
[root@meta /etc/prometheus]# 

a764e1add0774422b4d83a04bd7f041a.png

[4] 格式化磁盘


要是用 mkfs.xfs而不是xfs_growfs

9e0e17e0f37b4ba3b238cfcb81b4c653.png

[5]创建目录并挂载


 ⚡ root@pigsty2-179  ~  df -TH
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs   34G     0   34G   0% /dev
tmpfs          tmpfs      34G     0   34G   0% /dev/shm
tmpfs          tmpfs      34G  8.9M   34G   1% /run
tmpfs          tmpfs      34G     0   34G   0% /sys/fs/cgroup
/dev/sda1      xfs        43G  3.7G   40G   9% /
tmpfs          tmpfs     6.8G     0  6.8G   0% /run/user/0
 ⚡ root@pigsty2-179  ~  lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  600G  0 disk
├─sda2   8:2    0  560G  0 part
└─sda1   8:1    0   40G  0 part /
 ⚡ root@pigsty2-179  ~  mkdir /data
 ⚡ root@pigsty2-179  ~ 
 ⚡ root@pigsty2-179  ~  mount /dev/sda2 /data
 ⚡ root@pigsty2-179  ~ 
 ⚡ root@pigsty2-179  ~  df -TH
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs   34G     0   34G   0% /dev
tmpfs          tmpfs      34G     0   34G   0% /dev/shm
tmpfs          tmpfs      34G  8.9M   34G   1% /run
tmpfs          tmpfs      34G     0   34G   0% /sys/fs/cgroup
/dev/sda1      xfs        43G  3.7G   40G   9% /
tmpfs          tmpfs     6.8G     0  6.8G   0% /run/user/0
/dev/sda2      xfs       602G   34M  601G   1% /data

[6] 开机自动挂载


blkid 获取

blkid /dev/sda2
/dev/sda2: UUID="ed42543b-8f1b-4473-9c01-720e6e41b2fe" TYPE="xfs"

fstab增加配置自动挂载ab39575b3fcd48e29d4c73f58b6b2c67.png重启硬盘自动挂载好了7513125d2cfc4f13b560330a537980af.png

挂载参数优化


#more /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Jul 21 17:33:20 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rootvg-root /                       xfs     defaults        0 0
UUID=3aa14848-bfe7-4360-8149-8af67abdcd44 /boot                   xfs     defaults        0 0
UUID=9DEB-A905          /boot/efi               vfat    umask=0077,shortname=winnt 0 0
/dev/mapper/rootvg-homelv /home                   xfs     defaults        0 0
/dev/mapper/rootvg-optlv /opt                    xfs     defaults        0 0
/dev/mapper/rootvg-tmplv /tmp                    xfs     defaults        0 0
/dev/mapper/rootvg-usrlv /usr                    xfs     defaults        0 0
/dev/mapper/rootvg-varlv /var                    xfs     defaults        0 0
/dev/mapper/rootvg-swap swap                    swap    defaults        0 0
/dev/datavg/gpmasterlv /gpmaster xfs nodev,noatime,nobarrier,inode64,allocsize=16m 0 0
/dev/rootvg/defectlv  /ods_defect  xfs  nodev,noatime,nobarrier,inode64,allocsize=16m  0  0
/dev/rootvg/edclv     /ods_edc     xfs  nodev,noatime,nobarrier,inode64,allocsize=16m  0  0
/dev/rootvg/mainlv    /ods_main    xfs  nodev,noatime,nobarrier,inode64,allocsize=16m  0  0

/etc/fstab 文件是一个用于配置文件系统挂载的系统文件。该文件包含了每个文件系统的挂载点,文件系统类型,挂载选项以及挂载设备的信息。这些挂载选项是用于设置文件系统的特定行为的。


nodev:该选项表示该文件系统中不允许挂载设备文件。这意味着在该文件系统中不能创建设备文件,并且也不能将设备挂载到该文件系统上。


noatime:该选项表示在访问文件时不更新文件的访问时间。这意味着在该文件系统中,每次访问文件时,文件的最后访问时间不会更新。这可以减少文件系统的写入次数,从而提高磁盘性能。


nobarrier:该选项表示在向文件系统写入数据时不使用屏障。屏障是一种写入优化技术,用于保证数据写入的有序性。但是,在某些情况下,使用屏障会导致性能降低,因此可以使用 nobarrier 选项来禁用屏障。

inode64:该选项表示使用 64 位 inode 编号。inode 是一个数据结构,用于储存文件的元数据

allocsize 设置缓冲I / O端的文件预分配的大小时,延迟分配写出时。此选项的页面大小(通常4KiB)到1GiB,包括有效值,功率为2的增量。

xfs_growfs 和 mkfs.xfs区别


mkfs.xfs格式化没有做lvm的磁盘

[root@meta /etc/prometheus]#mkfs.xfs -f /dev/sdb1 # 不同文件系统使用不同的格式化命令
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=3276736 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=13106944, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=6399, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

xfs_growfs格式化做了lvm的磁盘

– update 2022年11月4日09:45:33cfcfc54d4bab4b38b321bc277e0c8a9d.png

umount报 target is busy


[root@meta /tmp]#df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        7.8G     0  7.8G   0% /dev
tmpfs           7.8G  180K  7.8G   1% /dev/shm
tmpfs           7.8G  792M  7.0G  10% /run
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda1        40G   21G   20G  51% /
/dev/sdb1        50G   13G   38G  26% /prometheus
tmpfs           1.6G     0  1.6G   0% /run/user/0
[root@meta /tmp]#mount /dev/sdb1 /prometheus
[root@meta /data/prometheus/data]#umount -v /dev/sdb1
umount: /data: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

解决


对付系统文件正忙的另一种方法是执行延迟卸载:
[root@meta /data/prometheus/data]#umount -vl /data/
umount: /data (/dev/sdb1) unmounted
延迟卸载(lazy unmount)会立即卸载目录树里的文件系统,等到设备不再繁忙时才清理所有相关资源
目录
相关文章
|
算法 Linux 调度
深入理解Linux内核调度器:从基础到优化####
本文旨在通过剖析Linux操作系统的心脏——内核调度器,为读者揭开其高效管理CPU资源的神秘面纱。不同于传统的摘要概述,本文将直接以一段精简代码片段作为引子,展示一个简化版的任务调度逻辑,随后逐步深入,详细探讨Linux内核调度器的工作原理、关键数据结构、调度算法演变以及性能调优策略,旨在为开发者与系统管理员提供一份实用的技术指南。 ####
650 4
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
5179 77
|
安全 Linux
Slax Linux如何获取增强的会话管理与启动参数选项
以上就是关于在Slax Linux中获取增强的会话管理与启动参数选项的全过程。虽然在这个过程中可能会遇到暗礁和风浪,但只要我们用心驾驶,总能找到前行的道路。在旅程中,记得享受这中间的点点滴滴,因为这些都是你成长的痕迹。祝你在这片“数码海洋”中一帆风顺!
226 26
|
Linux Shell
shell_42:Linux参数移动
总的来说,参数移动是Linux shell脚本中的一个重要概念,掌握它可以帮助我们更好地处理和管理脚本中的参数。希望这个解释能帮助你理解和使用参数移动。
326 18
|
关系型数据库 MySQL 应用服务中间件
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
1017 23
|
缓存 NoSQL Linux
Linux系统内存使用优化技巧
交换空间(Swap)的优化 禁用 Swap sudo swapoff -a 作用:这个命令会禁用系统中所有的 Swap 空间。swapoff 命令用于关闭 Swap 空间,-a 参数表示关闭 /etc/fstab 文件中配置的所有 Swap 空间。 使用场景:在高性能应用场景下,比如数据库服务器或高性能计算服务器,禁用 Swap 可以减少磁盘 I/O,提高系统性能。
583 3
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
713 24
|
缓存 监控 网络协议
Linux操作系统的内核优化与实践####
本文旨在探讨Linux操作系统内核的优化策略与实际应用案例,深入分析内核参数调优、编译选项配置及实时性能监控的方法。通过具体实例讲解如何根据不同应用场景调整内核设置,以提升系统性能和稳定性,为系统管理员和技术爱好者提供实用的优化指南。 ####
|
存储 缓存 网络协议
Linux操作系统的内核优化与性能调优####
本文深入探讨了Linux操作系统内核的优化策略与性能调优方法,旨在为系统管理员和高级用户提供一套实用的指南。通过分析内核参数调整、文件系统选择、内存管理及网络配置等关键方面,本文揭示了如何有效提升Linux系统的稳定性和运行效率。不同于常规摘要仅概述内容的做法,本摘要直接指出文章的核心价值——提供具体可行的优化措施,助力读者实现系统性能的飞跃。 ####

热门文章

最新文章