欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

马哥 09_03 _磁盘及文件系统管理详解之五 有大用

image.png


swap  分区  (swap就是交换的意思)

 free

     -m: 以M为单位来显示内存空间的大小  


fdisk 先创建一个分区,fdisk 命令中,调整分区类型为82

然后 创建交换分区(文件系统) (格式化交换分区):

mkswap /dev/sda8

    -L LABEL


启用交换分区的交换空间(挂载交换分区),使用 mount 是不能挂载的

swapon /dev/sda8

    -a:启用所有的定义在 /etc/fstab文件中的交换设备

关闭交换分区的交换空间(卸载交换分区),

swapoff /dev/sda8



回环设备

loopback,使用软件来模拟实现硬件(大概这个意思,这样说 并不精确)


创建一个镜像文件, 1G,120G 可以当作硬盘 挂载分区格式化的 但这个文件可能只有几M,

创建文件的方式作为模拟的存储空间


没有多余的空间可用(但是分区里面有多余的空间),又要使用 swap,创建一个本地的回环设备,格式化成swap分区,然后再启用起来,就可以了


dd 命令(复制的是底层的数据流)  相当于copy 复制(以文件为单位)   (dd复制不经过内存,直接从磁盘拷贝)

    if=数据来源                 input file

    of=数据存储目标                output file

    bs=1      或    1024    (字节为单位)          byte size(block size) 每一次复制

    count=2                                                                                    复制2次

    seek=#: 创建数据文件时,跳过的空间大小:


dd if=/dev/sda  of=/mnt/usb/mbr.backup bs=512 count=1

(备份)复制硬盘的最开始处的 512个字节(mbr)到  u 盘上

dd if=/mnt/usb/mbr.backup  of=/dev/sda bs=512 count=1

(mbr坏了,恢复)复制u盘的最开始处的 512个字节到 硬盘的 最开始处 (mbr)上


cat 可以做镜像的  (dd命令也可以做镜像的)

cat  /dev/cdrom > /root/rhel5.iso


创建一个大小为1024M的虚拟的镜像文件 我们可以把这个文件mkswap,并且启用起来

dd if=/dev/zero of=/var/swapfile bs=1M count=1024



/dev/zero 吐0,要多少有多少

/dev/null 黑洞




mount命令,可以挂载iso镜像:

mount DEVICE MOUNT_POINT

    -o loop: 挂载本地回环设备(也就是挂载镜像)


image.png


mount /dev/sda5 /mnt/test

重启后 挂载就不存在了


文件系统的配置文件/etc/fstab

os 在初始化时,会自动挂载此文件中定义的每个文件系统

里面的东西能自动挂载

#

# /etc/fstab

# Created by anaconda on Thu May 11 04:02:33 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=159009ce-8e2f-4585-a9fb-164bf7a955e8 /                       ext4    defaults        1 1

要挂载的设备(可以是设备文件名,可以是uuid,可以是label)   挂载点  文件系统类型 挂载选项(默认defaults)   转储频率(有差异备份,增量备份,完全备份,它是指多少天做一次完全备份,0表示不备份,1表示每天,2表示每2天,事实上 现在好多软件都可以备份的一般来说我们自己设备的都不让它备份,都设置为0)  文件系统检测次序(一般只有根为1,2表示根检测完了再检查,其它的可以同时为2,0表示不检查)

下面两图有大用

image.png

image.png

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

/dev/vdb1               /home                   ext4    defaults        0 0

/dev/vdb1       /home   ext4    defaults        0       0



mount /dev/sda5 /mnt/test 要想让它开机挂载 

/dev/sda5  /mnt/test  ext3 defaults 0 0


mount -a 表示挂载 /etc/fstab 文件中定义的所有文件系统



fuser:验证进程正在使用的文件或套接字文件

    -v:查看某文件上(也可以是目录)正在运行的进程

    -k: (kill)

    -m: (name   

   image.png)

    fuser -km MOUNT_POINT: 终止正在访问此挂载点的所有进程 (fuser 是什么意思 file user )







虚拟内存:


image.png

image.png



image.png


image.png


交换空间不建议经常使用,因为性能不好,但有时不得不使用,因为内存不够的话,会宕机

image.png

image.png


如果不得不使用交换分区,尽量把交换分区放在靠外的磁道上 (柱面上),至少性能上好一点 速度快一点


[root@ebs-22618 ~]# free

             total       used       free     shared    buffers     cached

Mem:       2054060    1981188      72872       4600      10252     298088

-/+ buffers/cache:    1672848     381212

Swap:            0          0          0


[root@ebs-22618 ~]# free -m

image.png

swap 交换空间不使用 才是最好的


buffer (buffers) 从大河往小河是缓冲区,防止过慢的设备在接受的时候受到冲击,比如BT下载很快,但是我的硬盘接受的慢,BT下载会冲坏我的硬盘,所以通过BT缓冲到缓冲区,然后再慢慢地把缓冲区的数据写入硬盘,里面放的是元数据(不太精确)


cache (cached) 缓存的目的,是为了重复使用的,cpu从硬盘读取数据,硬盘太慢,先缓存到内存中,然后cpu从内存中读数据.

里面放的是数据(不太精确)

image.png


image.png



image.png



image.png

image.png

image.png

image.png

image.png


image.png

image.png

说明此时还未启用(这个swap 是以前的swap)


普通的mount挂载方式不行

image.png

image.png


开启swap(挂载swap)

# swapon /dev/sda8

image.png

此时有2G了 有误差(但是误差不关键)

关闭swap(卸载swap)

# swapoff /dev/sda8

image.png



[root@ebs-22618 ~]# man dd

image.png



image.png

image.png


image.png


# dd if=/etc/inittab of=/root/inittab

image.png


image.png

image.png


image.png


image.png


# df -lh

image.png


dd if=/dev/zero of=/var/swapfile bs=1M count=1024

image.png

dd 其实可以作为性能测试的 比如这里 46.2M/s

# ls -lh /var/swapfile

image.png


# mkswap /var/swapfile

image.png



# free -m 


image.png

# swapon /var/swapfile  (启用 相当于挂载)


# free -m 

image.png



[root@ebs-22618 ~]# man dd

image.png


# dd if=/dev/zero of=/var/swapfile2 seek=1023 bs=1M count=1024

# ls -lh /var/swapfile2


image.png

跳过 1023个block? 还是 bs 后面的单位(这里是M),应该是后者吧


# dd if=/dev/zero of=/var/swapfile2 seek=1023 bs=1M count=1

image.png

# ls -lh /var/swwapfile2

image.png

跳过 1023个block? 还是 bs 后面的单位(这里是M),应该是后者吧


这才是它真正的大小

# du -sh /var/swapfile2

image.png


vmware 虚拟机也是这样子的,比如,创建120 G,并不是刚开始时有120G

刚开始时可能几十M,但是最大120G


image.png

image.png



# mount -o loop /root/rhci-5.8-1.iso /media/   (挂载回环设备)

image.png

# ls /media/

image.png

# free -m 

#swapoff /var/swapfile

image.png


# swapon -a  (把 /etc/fstab 里面的所有的关于 swap 全部挂载)

# free -m

image.png

# df -h

为什么有些重启后存在(能自动挂载),有些重启后不存在(不能自动挂载)

image.png




[root@ebs-22618 ~]# cat /etc/fstab


#

# /etc/fstab

# Created by anaconda on Thu May 11 04:02:33 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=159009ce-8e2f-4585-a9fb-164bf7a955e8 /                       ext4    defaults        1 1

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

/dev/vdb1               /home                   ext4    defaults        0 0

/dev/vdb1       /home   ext4    defaults        0       0

[root@ebs-22618 ~]#

上面红色的是伪文件系统,是为了实现特殊功能的,它们不得不挂载


# umount /dev/sda5

image.png

# mount


image.png


image.png


# mount -a (挂载 /etc/fstab 里面的所有的设备)

# mount

image.png





image.png


# fuser -v /mnt/test  谁正在用什么命令访问

image.png






[root@ebs-22618 ~]# man fuser

image.png


image.png



image.png


# fuser -km /mnt/test

image.png


# umount /mnt/test

image.png


# vim /etc/fstab 

image.png

image.png


image.png

普通分类: