美文网首页
磁盘格式化/磁盘挂载/手动增加swap分区

磁盘格式化/磁盘挂载/手动增加swap分区

作者: hch004 | 来源:发表于2017-12-30 09:57 被阅读0次

    磁盘格式化

    演示之前我们先给sdb磁盘(如果没有,自己手动增加)分区先;

    接下来我们正式的开始格式化,这里我们先认识两个命令:mke2fsmkfs. 。这里mke2fs有几个参数是比较经常用到的。

    **-t**:-t 后跟一个文件系统格式,我们就会将这个磁盘格式化成指定的类型,比如-t ext4——就会格式化成ext4这个格式类型。(ext4是centos6的默认格式)**-b**:-b 后跟一个数量这里我比方设定为2048,这样我们就把每个块设定为最小2Kb的了,之前我们了解过一个块最小为4Kb。**-m**:-m 后面跟一个 百分比的数值这里我们比方设定为0.1,这样我们就设定了预留大小占分区的0.1%

    好,以上是mke2fs的命令用法,mkfs.命令基本没有什么选项直接命令后跟系统文件格式加分区路径即可,这里需要注意的是,centos7的系统默认格式是xfs,而mke2fs的命令格式不成xfs的系统文件类型,所以需呀用到mkfs.的命令。以下示例;

    [root@localhost ~]# mke2fs -t ext4 -b 2048 /dev/sdb1

    mke2fs 1.42.9 (28-Dec-2013)

    文件系统标签=

    OS type: Linux

    块大小=2048 (log=1)

    分块大小=2048 (log=1)

    Stride=0 blocks, Stripe width=0 blocks

    131072 inodes, 1048576 blocks

    52428 blocks (5.00%) reserved for the super user

    第一个数据块=0

    Maximum filesystem blocks=269484032

    64 block groups

    16384 blocks per group, 16384 fragments per group

    2048 inodes per group

    Superblock backups stored on blocks:

    16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816

    Allocating group tables: 完成                           

    正在写入inode表: 完成                           

    Creating journal (32768 blocks): 完成

    Writing superblocks and filesystem accounting information: 完成

    [root@localhost ~]# mkfs.xfs -f /dev/sdb1

    meta-data=/dev/sdb1 isize=512 agcount=4, agsize=131072 blks

            =                      sectsz=512  attr=2, projid32bit=1

            =                      crc=1        finobt=0, sparse=0

    data    =                      bsize=4096  blocks=524288, 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

    这里我们使用mkfs.xfs的时候,系统提示磁盘可能存在着数据,如果确定要格式的则加个-f的参数。

    这样当我们使用两种方式格式话后,我们可以看下我们磁盘的系统文件类型分别都有哪些变化

    [root@localhost ~]# blkid /dev/sdb1

    /dev/sdb1: UUID="aca7a1c3-545a-49b1-aae3-ec2f14ce0ebe" TYPE="ext4"

    [root@localhost ~]# blkid /dev/sdb1

    /dev/sdb1: UUID="a2a2fa5b-317d-431c-96ef-85cc6a2a7c8c" TYPE="xfs"

    可以看到第一次执行的时候,确实格式化成了ext4格式。第二次格式的时候格式化成了xfs格式。

    接下来我们说下-m的参数用法,指定给root用户预留的空间大小,以下示例;

    [root@localhost ~]# mke2fs -t 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

    131072 inodes, 524288 blocks

    524 blocks (0.10%) reserved for the super user

    第一个数据块=0

    Maximum filesystem blocks=536870912

    16 block groups

    32768 blocks per group, 32768 fragments per group

    8192 inodes per group

    Superblock backups stored on blocks:

    32768, 98304, 163840, 229376, 294912

    Allocating group tables: 完成                           

    正在写入inode表: 完成                           

    Creating journal (16384 blocks): 完成

    Writing superblocks and filesystem accounting information: 完成

    这里我们就可以看到运行后的结果就是给root用户预留了0.1%的空间,按理来说预留空间设置的越小,给我们使用的硬盘空间就越大,但是也要根据实际情况而定。(注意在使用mke2fs命令的时候,如果没有指定格式化为什么格式的系统文件,它将默认格式化为ext2格式,而ext2格式太老了几乎不会用到,所以在格式话的时候要留意这点)

    这里再补充一个参数-i,使用-i改变默认生成的inode的比例, (1块=4k=4096字节)4个块=1个inode,以下示例;

    [root@localhost ~]# mke2fs -t ext4 -i 8196 /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

    262144 inodes, 524288 blocks

    26214 blocks (5.00%) reserved for the super user

    第一个数据块=0

    Maximum filesystem blocks=536870912

    16 block groups

    32768 blocks per group, 32768 fragments per group

    16384 inodes per group

    Superblock backups stored on blocks:

    32768, 98304, 163840, 229376, 294912

    Allocating group tables: 完成                           

    正在写入inode表: 完成                           

    Creating journal (16384 blocks): 完成

    Writing superblocks and filesystem accounting information: 完成

    磁盘挂载

    当磁盘分好区格式化后,我们就可以开始将磁盘进行挂载了,只有挂载上去,linux系统才能读写才。

    我们可以用mount命令来执行操作,以下示例;

    [root@localhost ~]# mount /dev/sdb1 /mnt/

    这样我们就挂在好了,挂载到的路径为mnt目录,我们可以通过df -h来查看磁盘分区情况。

    [root@localhost ~]# df -h

    文件系统                容量  已用  可用 已用% 挂载点

    /dev/mapper/centos-root  44G  3.9G  41G    9% /

    devtmpfs                3.9G    0  3.9G    0% /dev

    tmpfs                    3.9G    0  3.9G    0% /dev/shm

    tmpfs                    3.9G  8.7M  3.9G    1% /run

    tmpfs                    3.9G    0  3.9G    0% /sys/fs/cgroup

    /dev/sda1              1014M  143M  872M  15% /boot

    tmpfs                    781M    0  781M    0% /run/user/0

    /dev/sdb1                1.9G  6.0M  1.8G    1% /mnt

    可以看到sdb1已经挂载上去,现在我们就可以在里面写入信息了。可以挂载同样可以卸载,是用umount命令就好,以下示例;

    [root@localhost ~]# umount /dev/sdb1

    [root@localhost ~]# df -h

    文件系统                容量  已用  可用 已用% 挂载点

    /dev/mapper/centos-root  44G  3.9G  41G    9% /

    devtmpfs                3.9G    0  3.9G    0% /dev

    tmpfs                    3.9G    0  3.9G    0% /dev/shm

    tmpfs                    3.9G  8.7M  3.9G    1% /run

    tmpfs                    3.9G    0  3.9G    0% /sys/fs/cgroup

    /dev/sda1              1014M  143M  872M  15% /boot

    tmpfs                    781M    0  781M    0% /run/user/0

    这样就卸载成功了,在用df -h去查看就会发现不现实/dev/sdb1这个磁盘了,卸载的方式命令后面可以不止跟磁盘路径,还可以跟挂载点路径,并且如果你的所在位置是在这个挂载点上,你还可以通过加-l参数(意思相当于懒人模式,不想先退出该目录先就卸载掉)

    mount命令还有多个参数可用,像比较常见的-o选项,在挂载的时候就设置了这个挂载点的权限,还有跟过参数可以通过man命令去查看。

    在此我们再来看个系统的配置文件,这个文件是关于开机的时候,系统都默认挂载哪些磁盘,就是根据这个文件配置的,所以这个文件是很关键的,以下示例;

    [root@localhost ~]# vi /etc/fstab

    /dev/mapper/centos-root / xfs defaults 0 0

    UUID=cebd9e04-61e0-492c-b6ed-994de19e3be5 /boot                  xfs    defaults        0 0

    /dev/mapper/centos-swap swap                    swap    defaults        0 0

    第一列:磁盘分区名称或磁盘分区的UUID

    第二列:挂载点(挂载到的目录)

    第三列:系统文件类型(ext4或xfs等)

    第四列:defaults(默认值)

    第五列:备份(0为不备份)

    第六列:开机检测(0为不检测)

    了解了以上信息,我们同样的可以自己手动添加一个挂载点上去,以下示例;

    /dev/sdb1 /mnt xfs defaults 0 0

    这样保存退出即可。这里第一列我们填分区路径或者分区的UUID都可以了,如果不知道UUID是多少的,可以通过blkid命来查看

    [root@localhost ~]# blkid /dev/sdb1

    /dev/sdb1: UUID="3ba96cb1-27cb-43ed-b71f-4f1402b8c51d" TYPE="xfs"

    重启系统,自动挂载成功

    手动增加swap空间

    有的时候当swap空间不够用的时候,或者说某些时候我们就必须增大swap空间的时候,我们可以通过命令操作来增大swap空间。

    首先我们先模拟一个100M的小分区,使用dd命令创建;

    [root@localhost ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100

    记录了100+0 的读入

    记录了100+0 的写出

    104857600字节(105 MB)已复制,0.215731 秒,486 MB/秒

    dd命令是用来操作磁盘的,可以对磁盘进行读写。if是用来指定从哪里去读写,/dev/zero是一个UNIX系统特有的一个文件,它可以源源不断地提供“0”of指定目标文件,bs定义块的大小,count定义块的数量,bs和count两个参数决定了文件的大小,即文件大小=bs*count,上面的例子我们文件大小就设定为了100M,可以通过du命令来查看文件大小信息。创建好后,我们还需要对这个文件进行格式化为swap格式,以下示例;

    [root@localhost ~]# mkswap -f /tmp/newdisk

    正在设置交换空间版本 1,大小 = 102396 KiB

    无标签,UUID=75931249-564e-4f79-9737-5194bb9bad06

    格式化好了之后就可以将它挂载使用了,操作如下;

    [root@localhost ~]# free

                  total        used        free      shared  buff/cache  available

    Mem:        7994076      602372    7042444        8816      349260    7102644

    Swap:      5242876          0    5242876

    [root@localhost ~]# swapon /tmp/newdisk

    swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。

    [root@localhost ~]# free

                  total        used        free      shared  buff/cache  available

    Mem:        7994076      602960    7041836        8816      349280    7102056

    Swap:      5345272          0    5345272

    [root@localhost ~]# chmod 0600 /tmp/newdisk

    最后卸载掉后不想要这个文件了,我们可以删除掉它即可。

    [root@localhost ~]# swapoff /tmp/newdisk

    [root@localhost ~]# free

                  total        used        free      shared  buff/cache  available

    Mem:        7994076      602704    7042092        8816      349280    7102312

    Swap:      5242876          0    5242876

    相关文章

      网友评论

          本文标题:磁盘格式化/磁盘挂载/手动增加swap分区

          本文链接:https://www.haomeiwen.com/subject/hfjggxtx.html