linux磁盤及文件管理進階(2)

掛載主要涉及兩個地方:

         掛載點和掛載設備

(我們通常是將掛載設備關聯至某個掛載點上,所以帶給我們的結果是什麼?

         通過這個掛載點,可以訪問被掛載設備上的文件,每一個文件系統的根,本身就有一個隱含的目錄在裏面,比如說,我們將mnt目錄作爲B分區的掛載點,那麼mnt本身就相當於B分區的根,)

 

         根文件系統之外的其他文件系統要想能夠被訪問,都必須通過“關聯”至根文件系統上的某個目錄來實現,此關聯操作即爲“掛載”;此目錄即爲“掛載點”;

        

         掛載點:mount_ponit,用於作爲另一個文件系統的訪問入口;

 

                   掛載點的特性:

                            1)事先存在;

                            2)應該使用未被或不會被其他進程使用到的目錄;

                            3)掛載點下原有的文件將會被隱藏;

 

mount命令:

         (以centos6爲例)

         格式:

                   mount [-nrw]  [-t vfstype]  [-o options]  device dir

                            [-fnrsvw]:被稱爲命令選項

                            [-o options]:被稱爲掛載選項

                  

                   命令選項:

                            -rreadonly,只讀掛載;(光盤設備只能只讀掛載)

                            -wread  and write,讀寫掛載;(默認就是讀寫掛載)

                            -n:默認情況下,設備掛載或卸載的操作,會自動更新至/etc/mtab文件中,-n                                      用於禁止次特性;

 

                            -t  vfstype:要帶參數,指明要掛載的設備上的文件系統的類型;多數情況下                              可省略,此時mount會通過blkid來判斷要掛載的設備的文件系統類型;

                            -L LABEL:掛載時以卷標的方式指明設備;

                                     mount  -L LABEL  dir

                            -U UUID:掛載時以UUID的方式指明設備;

                                     mount  -U UUID  dir

 

              掛載選項:(-o  options):

                   (掛載選項主要定義掛載的文件系統的特性,掛載選項中有些選項只能用在                        /etc/fstab”中)

 

                            sync/async:同步/異步操作;

                            (什麼是同步什麼是異步?

                                              進程每一次訪問的數據默認都是在磁盤上的,但是進程是不可能直接操作磁盤上的數據的,要先把數據裝入到內存中,在內存中執行讀寫操作,尤其是寫操作,先在內存上執行寫操作,然後過一會在同步到磁盤上,這就叫異步。如果在那時候在內存上寫的同時立即同步到磁盤上,這就叫同步。我們知道內存比硬盤快得多,因此我們異步性能好。)

                   atime/noatime命令:文件或目錄被訪問時時候更新其訪問間隔。我們在訪問非常                                                                    頻繁的文件系統上,將訪問關掉,就是“noatime

                   diratime/nodiratime:目錄在被訪問時是否更新其訪問時間戳;

 

                   remount:重新掛載;

                   acl:支持使用facl(文件訪問控制列表)功能;

                            #mount  -o acl  device  dir

                            #tune2fs  -o acl  device

 

                   ro:只讀

                   rw:讀寫

                   dev/nodev:此設備上是否允許創建設備文件;

                   exec/noexec:是否允許運行此設備上的程序文件;

                   auto/noauto:是否支持自動掛載。

                   user/nouser:是否允許普通用戶掛載此文件系統;

                   suid/nosuid:是否允許程序文件上的suidsgid特殊權限生效;

                   defaultsUse defaultoptions: rw, suid, dev, exec, auto, nouser, async,  and relatime.

 

 

一個使用技巧:

         可以實現將目錄綁定到另一個目錄上,作爲其臨時訪問入口;

                   mount  --bind 源目錄 目標目錄

 

掛載光盤設備:

                   mount   -r /dev/cdrom  mount_point(掛載點)

 

                   光盤設備文件:/dev/cdrom /dev/dvd

         (其實cdrom這個文件是一個鏈接,其指向真正的光驅設備)

[root@centos6 ~]# ls /dev -l

lrwxrwxrwx. 1 root root           3 Nov  9 08:52 cdrom -> sr0(如果是IDE接口就是hdc

lrwxrwxrwx. 1 root root           3 Nov  9 08:52 cdrw -> sr0

 

掛載本地的迴環設備:

         #mount  -o loop  /PATH/TO/SOME_LOOP_FILE  MOUNT_POINT

 

 

掛載U盤:

         事先識別U盤的設備文件;

 

 

掛載本地迴環設備:(我們建議使用這個來掛載iso鏡像文件)

 

mount  -o  loop  /PATH/TO/SOME_LOOP_FILE   MOUNT_POINT

 

注意:本地迴環文件未必都是iso鏡像文件,像還有在網絡上我們得到的磁盤映像文件。

 

這裏我們做實驗時,我們可以從FTP服務器上下載一個磁盤映像文件,在命令行上運行FTP服務器的客戶端命令,lftp  10.1.0.1”登入到FTP服務器上去;然後使用“mget”命令進行多道的下載,即我們可以下載多個文件。下載完成後,我們使用命令“bye”表示從FTP服務器上端開。

 

查看當前系統上所有已掛載的設備

         #mount

         #cat  /proc/mounts

         #cat  /etc/mtab

 

 

 

umount命令:

         umount  device|dir

 

注意:正在被進程訪問到的掛載點無法被卸載;

 

         當卸載文件系統不成功時,查看被哪個或哪些進程所佔用

                   #lsof  MOUNT_POINT  //lsof  掛載點  :能夠顯示這個目錄被那個進程所佔用。

                   #fuser  -v MOUNT_POINT

 

         強行終止所有正在訪問某掛載點的進程:

                   #fuser  -km MOUNT_POINT

 

 

交換分區的啓用和禁用:

 

         創建交換分區的命令:mkswap

        

         啓用:swapon

                   swapon  [OPTION] [DEVICE]

                            -a:定義在/etc/fstab文件中的所有swap設備;

 

         禁用:swapoff                 

                   swapoff  DEVICE

 

         注意:

我們想過沒有我們的系統之上有沒有哪一個目錄本來就是單獨分區的?

解:

         我們說過usr目錄,那本來就是一個獨立的層級結構,var也是一個獨立的層級結構,所以usrvar可以是一個單獨的分區,除了usrvar之外,還有想binsbinetclib還有lib64等等,這些都不能獨立分區,必須在根上,因爲他們自己不能被獨立,必須與根在一起,而且還要在根這個分區上。

        

 

設置開機自動掛載:

 

設定除根文件系統以外的其他文件系統能夠開機時自動掛載:/etc/fstab文件

         只要是定義在/etc/fstab這個文件中內容,開機都會被自動掛載。之所以能夠開機自動掛載,是因爲開機時運行了一個腳本,或者運行了某一個程序,這個程序會去找這個文件中的設備一一給他掛上,

[root@centos6 ~]# cat /etc/fstab

 

wKiom1gyusXTBam5AAFxA4kna_4261.png

文件中的格式:

         每行定義一個要掛載的文件系統及其先關屬性:

         前面有#號的表示註釋;

                   6個字段:

                            1)要掛載的設備:

                                               設備文件;

                                               LABEL

                                               UUID

                                               僞文件系統:如sysfs,proc,tmpfs

                            2)掛載點

                                               swap類型的設備的掛載點爲swap

                            3)文件系統類型;

                            4)掛載選項

                                               defaults:使用默認的掛載選項;

                                               如果要同時制名多個掛載選項,彼此間以事情分隔;

                                                        defaultsaclnoatimenoexec

                            5)轉儲頻率

                                               0:從不備份;

                                               1:每天備份;

                                               2每隔一天備份;

                            6)自檢次序

                                               0:不自檢;

                                               1:首先自檢,通常只能是根文件系統可用1

                                               2:次級自檢

                                               ...............一直到9

                                               (兩個設備的自檢次序可以相同)

 

 mount  -a   //可自動掛載定義在/etc/fstab文件中的所有支持自動掛載的設備

 

 

 

兩個命令:dfdu

                  

         dfdisk  free):查看磁盤使用狀態,這裏主要是掛載後的各磁盤使用狀態;

        

         格式:

                   df[OPTION]... [FILE]...

 

         選項:

                   -l:僅顯示本地文件系統,而不顯示網絡文件系統

                   -h:進行了段位換算,使人更易讀

                   -i:顯示inode的使用狀況,而非blocks

 

[root@centos6 ~]# df   //顯示當前操作系統已掛載的文件系統是什麼;這個設備上一共有多少個塊,注意這裏的塊,與我們的磁盤大小塊不一樣,我們的磁盤無論格式化爲1K,2K,4K這裏全部顯示1K格式,USE:表示已用塊,Available:表示可用塊,USE%:表示百分比,Mounted  on:表示掛載點

df: `/media/CentOS_6.8_Final': No such fileor directory

Filesystem     1K-blocks    Used Available Use% Mounted on

/dev/sda2       50264772 4702680  43002092 10% /

tmpfs             953648      76   953572   1% /dev/shm

/dev/sda1         194241   39290   144711  22% /boot

/dev/sda3       20027260   45004 18958256   1% /testdir

/dev/sr0         3824484 3824484         0 100% /media

/dev/sdb1        5039592   10272  4766660   1% /mydata

[root@centos6 ~]#

 

[root@centos6 ~]# df -h

df: `/media/CentOS_6.8_Final': No such fileor directory

Filesystem      Size Used Avail Use% Mounted on

/dev/sda2        48G 4.6G   41G  10% /

tmpfs           932M   76K 932M   1% /dev/shm

/dev/sda1       190M  39M  142M  22% /boot

/dev/sda3        20G  44M   19G   1% /testdir

/dev/sr0        3.7G 3.7G     0 100% /media

/dev/sdb1       4.9G  11M  4.6G   1% /mydata

[root@centos6 ~]#

 

[root@centos6 ~]# df -i

df: `/media/CentOS_6.8_Final': No such fileor directory

Filesystem      Inodes IUsed   IFree IUse% Mounted on

/dev/sda2      3203072 138749 3064323    5% /

tmpfs           238412      4 238408    1% /dev/shm

/dev/sda1        51200     39  51161    1% /boot

/dev/sda3      1281120     14 1281106    1% /testdir

/dev/sr0             0      0      0     - /media

/dev/sdb1       328656     12 328644    1% /mydata

[root@centos6 ~]#

 

 

du命令:

 

         格式:

                   du[OPTION]... [FILE]...

         選項:

                   -ssumary,顯示整個文件目錄的大小;

                   -hhuman-readable,進行單位換算後更加易讀;

        

         執行“du  /etc”會將這個目錄下所有的文件或目錄分別列出其大小

         執行“du  -s /etc”會顯示這個文件目錄的總大小;

         執行“du  -sh /etc”顯示文件目錄總的大小,並且進行了單位換算;

 

 

 

 

演示:

 

centos6上執行

[root@centos6 ~]# mount                //使用單獨的mount命令,能夠顯示當前所有的已經掛載的                                                           文件系統

/dev/sda2 on / type ext4 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts(rw,gid=5,mode=620)

tmpfs on /dev/shm type tmpfs(rw,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1 on /boot type ext4 (rw)

/dev/sda3 on /testdir type ext4 (rw)

none on /proc/sys/fs/binfmt_misc typebinfmt_misc (rw)

vmware-vmblock on /var/run/vmblock-fusetype fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)

gvfs-fuse-daemon on /root/.gvfs typefuse.gvfs-fuse-daemon (rw,nosuid,nodev)

/dev/sr0 on /media/CentOS_6.8_Final typeiso9660(ro,nosuid,nodev,uhelper=udisks,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500)

[root@centos6 ~]#

 

 

但是在centos7上執行mount

 

[root@centos7 ~]# mount                //除了顯示正常的文件系統和僞文件系統之外,還有很多會                                                           cgroup文件系統

sysfs on /sys type sysfs(rw,nosuid,nodev,noexec,relatime,seclabel)

proc on /proc type proc(rw,nosuid,nodev,noexec,relatime)

devtmpfs on /dev type devtmpfs(rw,nosuid,seclabel,size=919820k,nr_inodes=229955,mode=755)

securityfs on /sys/kernel/security typesecurityfs (rw,nosuid,nodev,noexec,relatime)

tmpfs on /dev/shm type tmpfs(rw,nosuid,nodev,seclabel)

devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)

tmpfs on /run type tmpfs(rw,nosuid,nodev,seclabel,mode=755)

tmpfs on /sys/fs/cgroup type tmpfs(ro,nosuid,nodev,noexec,seclabel,mode=755)

cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)

pstore on /sys/fs/pstore type pstore(rw,nosuid,nodev,noexec,relatime)

cgroup on /sys/fs/cgroup/hugetlb type cgroup(rw,nosuid,nodev,noexec,relatime,hugetlb)

cgroup on /sys/fs/cgroup/cpu,cpuacct typecgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)

cgroup on /sys/fs/cgroup/blkio type cgroup(rw,nosuid,nodev,noexec,relatime,blkio)

cgroup on /sys/fs/cgroup/freezer typecgroup (rw,nosuid,nodev,noexec,relatime,freezer)

cgroup on /sys/fs/cgroup/net_cls typecgroup (rw,nosuid,nodev,noexec,relatime,net_cls)

cgroup on /sys/fs/cgroup/devices typecgroup (rw,nosuid,nodev,noexec,relatime,devices)

cgroup on /sys/fs/cgroup/perf_event typecgroup (rw,nosuid,nodev,noexec,relatime,perf_event)

cgroup on /sys/fs/cgroup/cpuset type cgroup(rw,nosuid,nodev,noexec,relatime,cpuset)

cgroup on /sys/fs/cgroup/memory type cgroup(rw,nosuid,nodev,noexec,relatime,memory)

configfs on /sys/kernel/config typeconfigfs (rw,relatime)

/dev/sda2 on / type xfs(rw,relatime,seclabel,attr2,inode64,noquota)

selinuxfs on /sys/fs/selinux type selinuxfs(rw,relatime)

debugfs on /sys/kernel/debug type debugfs(rw,relatime)

mqueue on /dev/mqueue type mqueue(rw,relatime,seclabel)

systemd-1 on /proc/sys/fs/binfmt_misc typeautofs (rw,relatime,fd=33,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)

hugetlbfs on /dev/hugepages type hugetlbfs(rw,relatime,seclabel)

sunrpc on /var/lib/nfs/rpc_pipefs typerpc_pipefs (rw,relatime)

nfsd on /proc/fs/nfsd type nfsd(rw,relatime)

 

 

演示使用mount掛載設備文件:

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

[root@centos6 ~]# mount

/dev/sda2 on / type ext4 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts(rw,gid=5,mode=620)

tmpfs on /dev/shm type tmpfs(rw,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1 on /boot type ext4 (rw)

/dev/sda3 on /testdir type ext4 (rw)

none on /proc/sys/fs/binfmt_misc typebinfmt_misc (rw)

vmware-vmblock on /var/run/vmblock-fusetype fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)

gvfs-fuse-daemon on /root/.gvfs typefuse.gvfs-fuse-daemon (rw,nosuid,nodev)

/dev/sr0 on /media/CentOS_6.8_Final typeiso9660(ro,nosuid,nodev,uhelper=udisks,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500)

/dev/sdb1on /mnt type ext4 (rw)

[root@centos6 ~]#

 

演示我們掛載文件系統後,我們在一個終端上切換進到這個掛載的文件系統中的文件夾,然後在另一個終端上執行卸載這個文件系統,發現是不行的。

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

mount: /dev/sdb1 already mounted or /mntbusy

mount: according to mtab, /dev/sdb1 isalready mounted on /mnt

[root@centos6 ~]# cd /mnt

[root@centos6 mnt]# ls

fstab lost+found

[root@centos6 mnt]#

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

umount: /mnt: device is busy.

       (In some cases useful info about processes that use

        the device is found by lsof(8) or fuser(1))

[root@centos6 ~]#

 

 

演示只讀掛載:

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

[root@centos6 ~]# mount -r /dev/sdb1 /mnt

[root@centos6 ~]# cp /etc/issue /mnt

cp: cannot create regular file `/mnt/issue': Read-only file system   //只讀文件系統

[root@centos6 ~]#

 

 

演示:

         /etc/目錄下有一個特殊的文件,mtab,這個文件記錄了當前系統上所掛載的每一個文件系統:

[root@centos6 ~]# cat /etc/mtab  顯示的內容與執行mount命令顯示的內容一樣。

/dev/sda2 / ext4 rw 0 0

proc /proc proc rw 0 0

sysfs /sys sysfs rw 0 0

devpts /dev/pts devpts rw,gid=5,mode=620 00

tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0"0 0

/dev/sda1 /boot ext4 rw 0 0

/dev/sda3 /testdir ext4 rw 0 0

none /proc/sys/fs/binfmt_misc binfmt_miscrw 0 0

vmware-vmblock /var/run/vmblock-fusefuse.vmware-vmblock rw,nosuid,nodev,default_permissions,allow_other 0 0

gvfs-fuse-daemon /root/.gvfsfuse.gvfs-fuse-daemon rw,nosuid,nodev 0 0

/dev/sr0 /media/CentOS_6.8_Final iso9660ro,nosuid,nodev,uhelper=udisks,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=05000 0

/dev/sdb1 /mnt ext4 ro 0 0

演示:掛載文件系統時,設置facl

         acl功能對我們自建的文件默認是不支持的,需要我們手動啓動起來。

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

[root@centos6 ~]# cd /mnt

[root@centos6 mnt]# ls

fstab lost+found

[root@centos6 mnt]# mount

/dev/sda2 on / type ext4 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts(rw,gid=5,mode=620)

tmpfs on /dev/shm type tmpfs(rw,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1 on /boot type ext4 (rw)

/dev/sda3 on /testdir type ext4 (rw)

none on /proc/sys/fs/binfmt_misc typebinfmt_misc (rw)

vmware-vmblock on /var/run/vmblock-fusetype fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)

gvfs-fuse-daemon on /root/.gvfs typefuse.gvfs-fuse-daemon (rw,nosuid,nodev)

/dev/sr0 on /media/CentOS_6.8_Final typeiso9660 (ro,nosuid,nodev,uhelper=udisks,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500)

/dev/sdb1on /mnt type ext4 (rw)   //沒有acl功能

[root@centos6 mnt]# getfacl fstab

# file: fstab

# owner: root

# group: root

user::rw-

group::rw-

other::r--

 

 [root@centos6mnt]# setfacl -m u:centos:rw-fstab   //因爲這個文件系統不支持acl功能所                                                                                                            以設置也就不成功了。

setfacl: fstab: Operation not supported

[root@centos6 mnt]# cd

[root@centos6 ~]# umount /mnt

[root@centos6 ~]# mount -o acl /dev/sdb1 /mnt   //掛載時指定文件系統支持acl功能

[root@centos6 ~]# mount

/dev/sda2 on / type ext4 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts(rw,gid=5,mode=620)

tmpfs on /dev/shm type tmpfs(rw,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1 on /boot type ext4 (rw)

/dev/sda3 on /testdir type ext4 (rw)

none on /proc/sys/fs/binfmt_misc typebinfmt_misc (rw)

vmware-vmblock on /var/run/vmblock-fusetype fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)

gvfs-fuse-daemon on /root/.gvfs typefuse.gvfs-fuse-daemon (rw,nosuid,nodev)

/dev/sr0 on /media/CentOS_6.8_Final typeiso9660(ro,nosuid,nodev,uhelper=udisks,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500)

/dev/sdb1on /mnt type ext4 (rw,acl)

 [root@centos6~]# cd /mnt

[root@centos6 mnt]# setfacl -m u:centos:rw- fstab    //給哪個目錄設置facl功能,就先進這                                                                                                                    個目錄中

[root@centos6 mnt]# getfacl fstab

# file: fstab

# owner: root

# group: root

user::rw-

user:centos:rw-

group::r--

mask::rw-

other::r--

 

[root@centos6 mnt]#

 

 

演示:將一個目錄掛載到另一個目錄:

         例如,我們想通過目錄“/mnt”訪問目錄“/etc

[root@centos6 ~]# mount --bind /etc /mnt

[root@centos6 ~]# ls /mnt

abrt                     idmapd.conf                   prelink.conf

acpi                     ImageMagick                   prelink.conf.d

adjtime                  init                          printcap

akonadi                 init.conf                     profile

aliases                  init.d                        profile.d

aliases.db               inittab                       protocols

alsa                     inputrc                       pulse

alternatives             ipa                           purple

anacrontab               iproute2                      quotagrpadmins

anthy-conf               issue                         quotatab

asound.conf              issue.net                     rc

at.deny                  java                          rc0.d

audisp                   jvm                           rc1.d

audit                    jvm-commmon     

 

演示:當我們卸載文件系統不成功時,先查看目錄是被誰佔用,然侯後在強行卸載:

 

第一步:

         現在一個終端上掛載一個文件系統,並且切換到這個文件系統內。

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

[root@centos6 ~]# mount

/dev/sdb1 on /mnt type ext4 (rw)

[root@centos6 ~]# cd /mnt

[root@centos6 mnt]# ls

fstab lost+found

[root@centos6 mnt]#

 

         第二步:在另外一個終端上進行普通的卸載,然後在進行查看,等後面的操作:

[root@centos6 ~]# umount /mnt

umount: /mnt: device is busy.

       (In some cases useful info about processes that use

        the device is found by lsof(8) or fuser(1))

[root@centos6 ~]# lsof /mnt   //可以查看被哪個進程佔用了,並顯示出進程號,誰登陸的,正在做什麼,CWD表示工作目錄,

COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

bash   6148 root  cwd    DIR  8,17     4096    2 /mnt

[root@centos6 ~]#

[root@centos6 ~]# fuser -v /mnt  //或者使用fuser命令,也能顯示出,掛載點正在被哪個用                                                                  戶的哪個進程甚至是哪個命令所佔用的。“c”就表示當                                                                           前工作目錄。

                     USER        PID ACCESS COMMAND

/mnt:                root       6148 ..c.. bash

[root@centos6 ~]#

[root@centos6 ~]# fuser -km /mnt  //將這個/mnt掛載點上的用戶全部剔除注意,這樣的剔除是直接上這個掛載點上的用戶從遠程連接上剔除的。

/mnt:                 6148c

wKioL1gyuvDRq3AgAAAOkdDSLMw984.png然後這時候在卸載掛載點就沒問題了。

 

 

 

演示:

         創建交換分區,啓用和禁用交換分區,並查看交換分區的大小:

 

         1)(我們先劃分一個分區,然後再將這個分區的分區ID改爲82,使得這個分區能夠           支持交換分區格式化)

         2)我們使用命令mkswap命令將分區格式化爲swap類型

         3)使用swapon開啓,或使用swapoff關閉分區

                            在這中間我們可以使用free命令來查看當前內存的使用狀況;包括物理內存                                和交換內存                                                   

                                     free  -m:表示以兆爲單位;

                                     free  -g:表示以G爲單位;

                   但是如果大小不夠1G的就變爲0了。

 

 

[root@centos6 ~]# mkswap /dev/sdb2

Setting up swapspace version 1, size =2104508 KiB

no label,UUID=cbcca6db-f4c8-4e57-89ae-7aaf46bacd90

[root@centos6 ~]# free

            total       used       free    shared    buffers     cached

Mem:      1907300     622064    1285236       3652     30712     255116

-/+ buffers/cache:     336236   1571064

Swap:     4095996          0    4095996

 

[root@centos6 ~]# free -m

            total       used       free    shared    buffers     cached

Mem:          1862        607       1255          3         30        249

-/+ buffers/cache:        328       1534

Swap:         3999          0       3999

[root@centos6 ~]# free -g

            total       used       free    shared    buffers     cached

Mem:             1          0          1          0          0          0

-/+ buffers/cache:          0          1

Swap:            3          0          3

[root@centos6 ~]# swapon /dev/sdb2

[root@centos6 ~]# free -g

            total       used       free    shared    buffers     cached

Mem:             1          0          1          0          0          0

-/+ buffers/cache:          0          1

Swap:            5         0          5

[root@centos6 ~]# swapoff /dev/sdb2

[root@centos6 ~]# free -g

            total       used       free    shared    buffers     cached

Mem:             1         0          1          0          0          0

-/+ buffers/cache:          0          1

Swap:            3          0          3

 

 

演示編輯文件“/etc/fstab”自動掛載設備

 

         1vim  /etc/fstab

         2)在文件的後面加上我們要掛在的文件

                  /dev/sdb1              /mydata            ext4          defaults             0                0

                   我們還可以根據卷標進行掛載:並還可以設置掛載選項,添加acl選項用逗號隔開

                   LABEL=MYDATA            /mydata            ext4          defaults,acl               0                0

         3)編輯文件後,我們執行下面的命令:

                     mount -a   //可自動掛載定義在/etc/fstab文件中的所有支持自動掛載的設備

 

 

 

練習:

         1.創建一個10G的分區,並格式化爲ext4文件系統;

                   1block大小爲2048;預留空間爲2%,卷標爲MYDATA;

                   2)掛載至 /mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問                      時間戳;

                   3)開機時可自動掛載;

         2.創建一個大小爲1Gswap分區,並啓動


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章