2017-12-29 3周5次课 磁盘格式化挂载手动增加swap空间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017-12-29 3周5次课 磁盘格式化挂载手动增加swap空间相关的知识,希望对你有一定的参考价值。

4.5/4.6 磁盘格式化 


·linux支持的文件系统格式:

[[email protected] ~]# cat /etc/filesystems
xfs
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*

·CentOS7 默认系统:xfs

·查看分区文件系统:mount

[[email protected] ~]# mount
##在结果中,只需要关注/dev/开头的行,例如:
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

·新建一个3G大小的空间

[[email protected] ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

命令(输入 m 获取帮助):n
Partition type:
p   primary (0 primary, 0 extended, 4 free)
e   extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+3G
分区 1 已设置为 Linux 类型,大小设为 3 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x891b79cb

设备 Boot      Start      End      Blocks   Id  System
/dev/sdb1        2048    6293503      3145728   83  Linux


·格式化空间 mke2fs

常用选项:-t 指定格式化成的系统    xfs

                -b 指定块大小

mke2fs -t ext4 -b 2048 /dev/sdb1


·分区:mkfs.ext4 /dev/sdb1

        或mke2fs -t ext4 /dev/sdb1

mkfs.ext4  ====>  mke2fs -t ext4(他们支持的选项一致)


·格式化成ext4格式:

[[email protected] ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks):
完成
Writing superblocks and filesystem accounting information: 完成


·如果之前已经格式化过分区,那么再次格式化会提示需要加 -f 来强制格式化分区

[[email protected] ~]# mkfs.xfs /dev/sdb1
mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
[[email protected] ~]# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=327680 blks
=                       sectsz=512   attr=2, projid32bit=1
=                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=1310720, 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


·查看为挂载的分区:blkid 分区

[[email protected] ~]# blkid /dev/sdb1
/dev/sdb1: UUID="96c429cc-1e8b-4176-bc3a-5d6c5fb9cc74" TYPE="xfs"


格式化磁盘可以不分区直接格式化,如果格式化的磁盘上有分区,那么如果直接格式化,保存的分区会消失,需要一个分区一个分区格式化


·格式化指定块大小:mke2fs -b 块大小 分区

[[email protected] ~]# mke2fs -b 8192 /dev/sdb1
Warning: blocksize 8192 not usable on most systems.
mke2fs 1.42.9 (28-Dec-2013)
mke2fs: 8192-byte blocks too big for system (max 4096)
无论如何也要继续? (y,n) y
Warning: 8192-byte blocks too big for system (max 4096), forced to continue
warning: 80 blocks unused.
文件系统标签=
OS type: Linux
块大小=8192 (log=3)
分块大小=8192 (log=3)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 655280 blocks
32764 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=671006720
10 block groups
65528 blocks per group, 65528 fragments per group
32768 inodes per group
Superblock backups stored on blocks:
65528, 196584, 327640, 458696, 589752
Allocating group tables: 完成
正在写入inode表: 完成
Writing superblocks and filesystem accounting information: 完成

(分区存储视频、音乐、高清图片等大文件,可以把块分的大一点,读写更快一些,8KB一个块;小文件的话,那么块更小一点比较好,比如2048,一般保持默认即可)


·指定分区预留空间大小:mke2fs -m 百分比 分区   /    mkfs.格式 -m 百分比 分区(必须指定格式)

[[email protected] ~]# mke2fs -m 1 /dev/sdb1#或者mkfs.ext4 -m 0.1 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
13107 blocks (1.00%) reserved for the super user        ##此处显示预留空间(可以小一点)
第一个数据块=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: 完成
正在写入inode表: 完成
Writing superblocks and filesystem accounting information: 完成
[[email protected] ~]# blkid
/dev/sdb1: UUID="2ff09f0f-7ac7-4ab9-aac9-921de5490762" TYPE="ext2"

(如果不指定文件系统格式,那么默认格式为:ext2,最好还是要ext4或者xfs)

[[email protected] ~]# mkfs.ext4 /dev/sdb1
327680 inodes, 1310720 blocks

格式化后,显示的inode数量和块数量对比可以看出,4个块对应1个inode


·指定多少字节对应一个inode:mke2fs -i 8192 -t ext4 /dev/sdb1

[[email protected] ~]# mke2fs -i 8192 -t ext4 /dev/sdb1
655360 inodes, 1310720 blocks
现在则是1比2(步骤省略)



4.7/4.8 磁盘挂载


·不分区,直接格式化

[[email protected] ~]# fdisk -l
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0007f9b9
设备    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    41943039    18668544  83  Linux
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[[email protected] ~]# mkfs.xfs /dev/sdb
mkfs.xfs: /dev/sdb appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
[[email protected] ~]# mkfs.xfs -f /dev/sdb
meta-data=/dev/sdb               isize=512    agcount=4, agsize=655360 blks
=                       sectsz=512   attr=2, projid32bit=1
=                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, 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
[[email protected] ~]# blkid /dev/sdb
/dev/sdb: UUID="b291a780-ff4e-4b96-8239-7fbb6ce8ecd5" TYPE="xfs"
/dev/sdb挂载到mnt下:mount /dev/sdb /mnt

(挂载点就是磁盘的入口,没有挂载点就没法在磁盘写东西)


[[email protected] ~]# mount /dev/sdb /mnt
[[email protected] ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  919M   17G   6% /
devtmpfs        479M    0   479M   0% /dev
tmpfs         489M    0   489M   0% /dev/shm
tmpfs         489M  6.7M   482M   2% /run
tmpfs         489M    0  489M   0% /sys/fs/cgroup
/dev/sda1       197M   97M  100M  50% /boot
tmpfs          98M    0  98M   0% /run/user/0
/dev/sdb        10G   33M  10G   1% /mnt
[[email protected] ~]# mount
此处省略...
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=99972k,mode=700)
/dev/sdb on /mnt type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

(可以看到磁盘系统类型是什么)


·卸载磁盘:umount 分区   (分区未在使用)

[[email protected] ~]# cd /mnt
[[email protected] mnt]# touch 1.txt 2.txt
[[email protected] mnt]# mkdir 234
[[email protected] mnt]# ls
1.txt  234  2.txt
[[email protected] mnt]# umount /dev/sdb
umount: /mnt:目标忙。                             ##因为现在在 /mnt 目录中
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[[email protected] mnt]# cd                           ##退出目录就可以卸载
[[email protected] ~]# umount /dev/sdb
[[email protected] ~]# df -h
文件系统        容量  已用  可用   已用% 挂载点
/dev/sda3        18G  920M   17G   6% /
devtmpfs        479M    0   479M   0% /dev
tmpfs          489M    0   489M   0% /dev/shm
tmpfs          489M  6.7M   482M   2% /run
tmpfs          489M    0   489M   0% /sys/fs/cgroup
/dev/sda1        197M   97M   100M   50% /boot
tmpfs          98M    0   98M   0% /run/user/0


·不退出使用,依然退出  umount -l 

[[email protected] ~]# mount /dev/sdb /mnt
[[email protected] ~]# ls /mnt
1.txt  234  2.txt
[[email protected] ~]# umount -l /mnt                     ##使用/mnt 或者 /dev/sdb是一样的
[[email protected] ~]# df -h
文件系统        容量  已用  可用    已用%  挂载点
/dev/sda3        18G  920M   17G    6%  /
devtmpfs        479M    0  479M    0%  /dev
tmpfs          489M    0  489M    0%  /dev/shm
tmpfs          489M  6.7M  482M    2%  /run
tmpfs          489M    0  489M    0%  /sys/fs/cgroup
/dev/sda1        197M   97M  100M    50%  /boot
tmpfs          98M     0   98M    0%  /run/user/0


·mount 常用选项:

-o  (-o options)

remount 重新挂载

ro 只读

rw 读写

exec 是否可执行

auto 自动挂载

async 不实时同步

[[email protected] ~]# mount -o remount,rw /dev/sdb


·系统启动默认挂载哪些磁盘,哪些分区,在fstab中配置

[[email protected] ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Dec 28 05:36:38 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=9638c3aa-a9dc-4fec-9e8a-695db86b4089 /                       xfs     defaults        0 0
UUID=32db737f-ff19-4a5a-8e3b-26357180abef /boot                     xfs     defaults        0 0
UUID=0d398469-5059-4022-9b0f-44ed3326036f swap                     swap      defaults        0 0
/dev/sdb                  /mnt                          xfs     defaults        0 0

      1#                                                                 2#                                                     3#                  4#                       5# 6#

1#设备号

2#挂载点

3#分区格式

4#挂载选项

5#是否备份(早期有用,现在没用)

6#设置优先级(0,1,2    级别1高)


·如何查看UUID :blkid

[[email protected] ~]# blkid
/dev/sda1: UUID="32db737f-ff19-4a5a-8e3b-26357180abef" TYPE="xfs"
/dev/sda2: UUID="0d398469-5059-4022-9b0f-44ed3326036f" TYPE="swap"
/dev/sda3: UUID="9638c3aa-a9dc-4fec-9e8a-695db86b4089" TYPE="xfs"
/dev/sdb: UUID="0c8fece4-03a9-4fda-9cda-116eab4b245e" TYPE="xfs"

(每个分区都有一个UUID)




4.9 手动增加swap空间


swap一般不需要太大空间,只要8G就够用了,如果遇到需要大swap空间时,则可以增加swap空间


·创建虚拟磁盘:

[[email protected] ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
记录了100+0 的读入       ##dd 用来操作磁盘可读写磁盘 ##if 指定从哪里去读 ##/dev/zero 是盗零器,可产生源源不断的零
记录了100+0 的写出        ##of 将这些零写到哪里去 ##bs 每块的大小 ##count 块的数量
104857600字节(105 MB)已复制,3.34874 秒,31.3 MB/秒
[[email protected] ~]# du -sh /tmp/newdisk
100M/tmp/newdisk
[[email protected] ~]# mkswap /tmp/newdisk #格式化swap空间
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=bf2cc22f-01b8-4de2-9d2d-047a905c11b7
[[email protected] ~]# swapon /tmp/newdisk #挂载swap空间
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
[[email protected] ~]# free -m
           total        used        free      shared  buff/cache   available
Mem:         976         114         622        6      239      687
Swap:        2147         0          2147
[[email protected] ~]# chmod 600 /tmp/newdisk


·卸载:swapoff

[[email protected] ~]# swapoff /tmp/newdisk
[[email protected] ~]# free -m
         total       used       free      shared   buff/cache   available
Mem:       976        114        622       6       239      687
Swap:      2047        0         2047
[[email protected] ~]# rm -f /tmp/newdisk                        #最后删除空间即可


以上是关于2017-12-29 3周5次课 磁盘格式化挂载手动增加swap空间的主要内容,如果未能解决你的问题,请参考以下文章

2017.12.28 3周4次课

2018-1-2 4周1次课 lvm

2017-12-28 3周4次课 df du磁盘分区

三周第五次课) 4.5/4.6 磁盘格式化 4.7/4.8 磁盘挂载 4.9 手动增加swap空间

三周第五次课(2月9日)

三周第五次课(12月29日) 4.5/4.6 磁盘格式化 4.7/4.8 磁盘挂载 4.9 手动增加swap空间