Linux系統swap已分區但無法掛載與cryptswap1問題


  linux下察看swap分區大小的命令
  top

  或者fdisk -l

  或者free -m

  SWAP分區一般大小為物理內存的2倍,但最大不超過2G;

  增加SWAP空間的方法有兩個:增加另外一個SWAP分區,或通過創建一個SWAP文件來實現。

  一)增加一個SWAP分區:

  1)創建一個SWAP分區: fdisk -l /dev/cciss/c0d0 (m---p ---n --t (將分區格式轉換成 82)--w)(如/dev/cciss/c0d0p6)

  2)格式化分區:mkswap -c v1 /dev/cciss/c0d06;

  3)修改/etc/fstab文件,增加

  /dev/cciss/c0d0p6 swap swap default 0 0

  4)激活swap分區:swapon -a /dev/cciss/c0d0p6;

  5) 查看swap 分區:swapon -s 或 free 或 cat /proc/swaps

  二)增加一個SWAP文件;

  1)dd if=/dev/zero of=/tmp/tmp.swap bs=1M count =100;( 建立一個100M的文件);

  2)mkswap /tmp/tmp.swap; (標識為SWAP文件)

  3)swapon /tmp/tmp.swap;(激活SWAP文件)

  4)修改/etc/fstab文件,增加以下內容:

  /tmp/tmp.swap swap swap default 0 0

  5)swapon -s 或free 或cat /proc/swaps 查看。

  三)刪除SWAP分區:

  1) swapoff /dev/cciss/c0d0p6;

  2) 修改/etc/fstab文件

  如何創建,增加SWAP?

  制作SWAP有兩種方法:

  1.使用分區做為SWAP

  2.使用文件做為SWAP

  使用分區做為SWAP比較好,速度比文件的快,也不容易產生磁盤碎片

  所有應該盡量使用分區作為SWAP.

  先說說使用文件做為SWAP吧:

  因為做為SWAP的文件,必須是連續的,所以需要使用dd命令創建它:

  [root@NEWLFS ~]#dd if=/dev/zero of=swapfile bs=1024 count=65536

  65536+0 records in

  65536+0 records out

  [root@NEWLFS ~]#

  這樣就制作了一個64M的swapfile (文件名自定)

  如果想制作128M的SWAP,count值:128*1024=131072

  制作128M的SWAP 命令就變成了:

  dd if=/dev/zero of=swapfile bs=1024 count=131072

  會計算了吧 ^_^

  使用mkswap命令制作swap:

  [root@NEWLFS ~]#mkswap swapfile

  Setting up swapspace version 1, size = 67104 kB

  [root@NEWLFS ~]#

  最后加在/etc/fstab,每次開機都會自動啟用SWAP:

 

  編輯fstab,在最后加入一行,格式如下:

  /root/swapfile swap swap defaults 0 0

  OK,啟用它:

  [root@NEWLFS ~]#swapon -a

  使用swapon -s 查看是否成功啟用了:

  [root@NEWLFS ~]#swapon -s

  Filename Type Size Used Priority

  /root/swapfile file 65528 0 -1

  OK,swapfile已經投入使用啦 ^_^

  要刪除交換文件:

  在 shell 提示下以根用戶身份執行以下命令來禁用交換文件(這里的 /swapfile 是交換文件):swapoff /swapfile

  從 /etc/fstab 中刪除該項目。刪除實際文件:rm /swapfile。 這樣,我們就完成了刪除Swap space的操作。

  很久之前free看到swap為0,一直困惑,明明裝系統時有分配交換分區,但為何一直顯示為0呢。身為菜鳥一開始也懶得一探究竟,所以問題拖到今天才解決。

  早上以為swap為0應該是我沒有設置交換分區或者是別的什么原因導致失敗,然后就上網查了一下如何增加分區,采用的是文件的形式。linux增加交換分區確實很簡單。然后就發現了奇怪的問題,此處不再贅述,詳情看下文。

  轉自:http://www.nsbeta.info/archives/292

  剛才free命令看了下,我們一個Linux服務器沒有交換分區。blkid輸出如下:

  /dev/sda1: UUID=”755ef8da-55f2-4fa4-9cf9-2c85452de2c5″ TYPE=”ext4″

  /dev/sda6: UUID=”2834448f-5701-496a-a536-c4c77acc9e4c” TYPE=”ext4″

  /dev/sda7: UUID=”a4952e03-8792-4dae-b10b-b4a3960ea13c” TYPE=”ext4″

  /dev/sdb1: UUID=”4d15da16-f3da-42bd-8277-cf993466d94e” TYPE=”ext4″

  /dev/mapper/cryptswap1: UUID=”88733242-6c33-45c1-8464-05c2f8b79b07″ TYPE=”swap”

  沒有交換分區的設備號,但最后有個/dev/mapper/cryptswap1,不知道是什么東西,沒接觸過。

  fdisk -l輸出有一行如下:

  /dev/sda5 2433 2918 3903763+ 82 Linux swap / Solaris

  說明/dev/sda5已經是創建了swap的。編輯/etc/fstab,加進這行:

  /dev/sda5 none swap sw 0 0

  運行swapon -a,輸出如下:

  swapon: /dev/sda5: read swap header failed: Invalid argument

  讀取swap頭部失敗,交換分區掛不上。

  於是swapoff -a再mkswap /dev/sda5,此時提示設備繁忙,無法創建swap。

  看來是/dev/sda5已經在使用中。google前面信息里提到的/dev/mapper/cryptswap1,原來這是一個加密分區,使用了/dev/sda5。用如下命令卸載加密分區:

  # cryptsetup luksClose /dev/mapper/cryptswap1

  再創建一次swap:

  # mkswap /dev/sda5

  上述命令創建成功,並給出一個UUID。編輯/etc/fstab文件,將這個UUID加載為交換分區,並運行:

  # swapon -a

  就成功掛載交換分區了,用free命令和blkid命令可以看到新分區的信息。

  同時,/etc/fstab這行:

  /dev/mapper/cryptswap1 none swap sw 0 0

  以及/etc/crypttab這行:

  cryptswap1 /dev/sda5 /dev/urandom swap,cipher=***

  要注釋掉,以免下次系統重啟時有問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM