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=***

  要注释掉,以免下次系统重启时有问题。

上一篇:JavaScript正则表达式检验与递归函数实际应用


下一篇:C/C++语言,自学资源,滚动更新中……