博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
磁盘挂载、磁盘格式化、swap分区
阅读量:6335 次
发布时间:2019-06-22

本文共 7757 字,大约阅读时间需要 25 分钟。

hot3.png

第四章 Linux磁盘管理

4.5-4.6 磁盘格式化

查看系统支持的文件系统格式:

[root@3 ~]# cat /etc/filesystemsxfsext4ext3ext2nodev procnodev devptsiso9660vfathfshfsplus*

"/"和"/boot"都是xfs格式!

mke2fs命令

mke2fs、mkfs.ext2、mkfs.ext3、mkfs.ext4均可用于磁盘格式化!(mkfs.ext4=mke2fs -t ext4)

语法: mke2fs [选项] [参数]

选项:
-L:=label,预设该分区的标签
-t:用来指定文件系统的类型(xfs、ext4、ext3、ext2等)
-b:分区时指定每个数据块的大小,目前支持1024、248、4096 bytes每个块
-i:设定inode大小,默认单位是byte
-N:设定inode数量,有时候默认的数量不够用,所以需要自己设定inode数量
-c:在格式化之前先检测一下磁盘是否有问题,加上这个选项后会非常慢
-m:格式化时,指定预留给管理员的磁盘比例,是一个百分比,只针对mke2fs命令

格式化磁盘

eg:

[root@3 ~]# mke2fs -t xfs /dev/sdb1mke2fs 1.42.9 (28-Dec-2013)Your mke2fs.conf file does not define the xfs filesystem type.Aborting...

“mke2fs”不支持xfs系统格式!

[root@3 ~]# mke2fs -t ext4 /dev/sdb1mke2fs 1.42.9 (28-Dec-2013)文件系统标签=OS type: Linux块大小=4096 (log=2)分块大小=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks196608 inodes, 786432 blocks39321 blocks (5.00%) reserved for the super user第一个数据块=0Maximum filesystem blocks=80530636824 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 	32768, 98304, 163840, 229376, 294912Allocating group tables: 完成                            正在写入inode表: 完成                            Creating journal (16384 blocks): 完成Writing superblocks and filesystem accounting information: 完成

创建xfs格式分区:

[root@3 ~]# mkfs.xfs -f  /dev/sdb1 此处-f=force,强制执行meta-data=/dev/sdb1              isize=512    agcount=4, agsize=196608 blks         =                       sectsz=512   attr=2, projid32bit=1         =                       crc=1        finobt=0, sparse=0data     =                       bsize=4096   blocks=786432, imaxpct=25         =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=1log      =internal log           bsize=4096   blocks=2560, version=2         =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0

注: 格式化过的磁盘可以再次进行格式化!

[root@3 ~]# fdisk -l磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x00009bac   设备 Boot      Start         End      Blocks   Id  System/dev/sda1   *        2048      411647      204800   83  Linux/dev/sda2          411648     4605951     2097152   82  Linux swap / Solaris/dev/sda3         4605952    62914559    29154304   83  Linux磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x9fa117f9   设备 Boot      Start         End      Blocks   Id  System[root@3 ~]# mkfs.xfs -f /dev/sdbmeta-data=/dev/sdb               isize=512    agcount=4, agsize=655360 blks         =                       sectsz=512   attr=2, projid32bit=1         =                       crc=1        finobt=0, sparse=0data     =                       bsize=4096   blocks=2621440, imaxpct=25         =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=1log      =internal log           bsize=4096   blocks=2560, version=2         =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0

即,磁盘不分区也可以进行格式化!

  • 查看一个未挂载的分区: blkid命令
[root@3 ~]# blkid/dev/sda1: UUID="abb35b1c-5bb9-4e78-a6c2-4d4d30ab74c0" TYPE="xfs" /dev/sda2: UUID="0e5be52a-d044-4c0d-9ec6-ee074e153b8f" TYPE="swap" /dev/sda3: UUID="01dd9d08-2b61-494c-9336-d96091a5313e" TYPE="xfs" /dev/sdb1: UUID="2f134104-8a39-4186-8790-0e3715856598" TYPE="xfs" /dev/sr0: UUID="2016-12-05-13-55-45-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"

也可以查看指定磁盘的信息:

[root@3 ~]# blkid /dev/sda1/dev/sda1: UUID="abb35b1c-5bb9-4e78-a6c2-4d4d30ab74c0" TYPE="xfs"

4.7-4.8 磁盘挂载

磁盘格式化完成后需要挂载后才能进行是使用。

在挂载某个分区前需要先建立一个挂载点,这个挂载点是以目录的形式出现的。一旦把某一个分区挂载到了这个挂载点(目录)下,那么再往这个目录写数据时,则都会写到该分区中。
注意:在磁盘挂载分区前,挂载点下必须是空目录,因为磁盘挂载后该目录下之前的东西就看不到了,只有卸载分区后才能看到。

mount命令、umount命令

mount命令

语法: mount [选项] [盘符] [挂载点]

注: 盘符可以是磁盘分区名、磁盘的UUID. 常用选项:
-a:把/etc/fstab中出现的所有磁盘分区挂载上
-t:指定分区类型,默认不指定会自动识别
-o:=options指定挂载分区特性(分区表第四列那些)

mount命令不加任何选项时,该命令可查看当前系统已经挂载的所有分区及其文件系统的类型、挂载点和一些选项信息。

[root@3 ~]# mountsysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)devtmpfs on /dev type devtmpfs (rw,nosuid,size=494380k,nr_inodes=123595,mode=755)/dev/sda1 on /boot type xfs (rw,relatime,attr2,inode64,noquota)tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=100840k,mode=700)
  • fstab分区表
[root@3 ~]# cat /etc/fstab## /etc/fstab# Created by anaconda on Mon May 22 01:19:25 2017## 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#UUID=01dd9d08-2b61-494c-9336-d96091a5313e /                       xfs     defaults        0 0UUID=abb35b1c-5bb9-4e78-a6c2-4d4d30ab74c0 /boot                   xfs     defaults        0 0UUID=0e5be52a-d044-4c0d-9ec6-ee074e153b8f swap                    swap    defaults        0 0

分区表解读:

172954_c1lA_3706800.png
关于第四列mount的挂载参数:

  • async/sync:磁盘和内存是否同步,默认async不同步;
  • auto/noauto:开机自动挂载/不自动挂载;
  • default:按着大多数永久文件系统的缺省值设置挂载定义,包含rw,suid,dev,exec,auto,nouser,async等
    • ro:按只读权限挂载
    • rw:按读写权限挂载
    • exec/noexec:允许/不允许可执行文件执行,千万不要把根分区挂载为noexec。
    • user/nouser:允许/不允许root外其他用户挂载分区,为了安全考虑,使用nouser
    • suid/nosuid:允许/不允许分区有suid属性,一般设置nosuid
    • usrquota:启动使用者磁盘配额模式,可针对用户限定他们的使用额度
    • grquota:启动群组磁盘配额模式

说明: 如果一台服务器上有多块磁盘,进行挂载时优先选用UUID,避免发生硬件维修更换磁盘位置后磁盘分区名发生变化而影响系统启动。

  • 进行磁盘挂载:
[root@3 ~]# mkdir /newdir[root@3 ~]# touch /newdir/newfile.txt[root@3 ~]# ls !$ls /newdir/newfile.txt/newdir/newfile.txt[root@3 ~]# mount /dev/sdb /newdir/ 把/dev/sdb挂载到/newdir/[root@3 ~]# df -h文件系统        容量  已用  可用 已用% 挂载点/dev/sda3        28G  1.2G   27G    5% //dev/sda1       197M  109M   88M   56% /boottmpfs            99M     0   99M    0% /run/user/0/dev/sdb         10G   33M   10G    1% /newdir[root@3 ~]# ls -l !$ls -al /newdir/总用量 0/newdir/目录下原有内容被覆盖!

umount命令

卸载磁盘分区。

语法: umount(选项)(参数) 选项: -l:= lazy 卸载分区时不必退出分区所在目录

注: 当在要卸载的分区所在目录进行卸载时是无法直接完成的,解决办法有两种,第一,退出当前目录再卸载;第二,使用‘umount -l’

[root@3 ~]# umount /newdir/[root@3 ~]# df -h文件系统        容量  已用  可用 已用% 挂载点/dev/sda3        28G  1.2G   27G    5% //dev/sda1       197M  109M   88M   56% /boottmpfs            99M     0   99M    0% /run/user/0

开机自动挂载分区

使某分区开机自动挂载的办法:

  • 在/etc/fstab中添加一行代码‘UUID=abb35b1c-5bb9-4e78-a6c2-4d4d30ab74c0 /boot xfs defaults 0 0’
  • 把挂载命令写到/etc/rc.d/rc/local文件中。

4.9 手动增加swap空间

[root@3 ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100  手动创建一个新分区记录了100+0 的读入记录了100+0 的写出104857600字节(105 MB)已复制,5.72931 秒,18.3 MB/秒[root@3 ~]# du -sh /tmp/newdisk100M	/tmp/newdisk[root@3 ~]# mkswap /tmp/newdisk  格式化该swap分区正在设置交换空间版本 1,大小 = 102396 KiB无标签,UUID=d42e907a-aae0-4d5f-bf58-586fac415f48[root@3 ~]# free -m                total        used        free      shared  buff/cache   availableMem:            984         114         626           6         244         706Swap:          2047           0        2047[root@3 ~]# swapon /tmp/newdisk  挂载到原swap分区swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。[root@3 ~]# free -m              total        used        free      shared  buff/cache   availableMem:            984         114         626           6         244         707Swap:          2147           0        2147[root@3 ~]# chmod 0600 /tmp/newdisk  更改权限以保安全[root@3 ~]# swapoff /tmp/newdisk   卸载分区[root@3 ~]# free -m              total        used        free      shared  buff/cache   availableMem:            984         114         626           6         244         707Swap:          2047           0        2047[root@3 ~]# rm -f /tmp/newdisk

“dd”:用于操作磁盘的命令(可读可写)

if:读取位置
of:写入位置
bs:=block size 块大小
count:磁盘大小(此处=100*1M)

转载于:https://my.oschina.net/u/3706800/blog/1620850

你可能感兴趣的文章
Spring+SpringMVC+MyBatis深入学习及搭建(十一)——SpringMVC架构
查看>>
oracle故障解决
查看>>
tcpdump
查看>>
数据库内存结构
查看>>
利用Shell开发跳板机功能脚本案例
查看>>
51CTO的技术门诊谈OSSIM
查看>>
六年心路成长 —— 做自己
查看>>
ios电话拨打进行监听电话状态
查看>>
京东基于Spark的风控系统架构实践和技术细节
查看>>
什么时候使用CountDownLatch
查看>>
C#之MemberwiseClone与Clone
查看>>
Android性能优化之利用Rxlifecycle解决RxJava内存泄漏
查看>>
转: 如何为你的开源项目选择一个合适的开源协议?
查看>>
关系型数据库和NOSQL数据库对比
查看>>
Atitit 记录方法调用参数上下文arguments
查看>>
webstorm常用功能FTP,及常用快捷键
查看>>
eclipse html 打开方式
查看>>
[求助] win7 x64 封装 出现 Administrator.xxxxx 的问题
查看>>
人类投资经理再也无法击败电脑的时代终将到来了...
查看>>
一个最小手势库的实现
查看>>