web-dev-qa-db-ja.com

インストール後にスワップパーティションを作成する

私はすでに、centos5.8のlvm環境でデータを含むparititonを持っています

fdisk-lの出力

root @ server [〜] #fdisk -l

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          25      200781   83  Linux
/dev/sda2              26      121601   976559220   8e  Linux LVM

lvdisplayの出力

# lvdisplay
  --- Logical volume ---
  LV Name                /dev/sysvg/ROOT
  VG Name                sysvg
  LV UUID                6oy3Rj-ka3K-mL9s-vjjG-1Iqw-dniq-UbWzvJ
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                919.44 GB
  Current LE             29422
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Name                /dev/sysvg/TMP
  VG Name                sysvg
  LV UUID                jTKLBt-eNz0-KxmV-E5Nk-jjC0-FlRb-qny62p
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                9.88 GB
  Current LE             316
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

  --- Logical volume ---
  LV Name                /dev/sysvg/SHM
  VG Name                sysvg
  LV UUID                NpKjhl-tzzn-Dk3G-A6dl-4QJB-QCc2-IkbDH5
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                2.00 GB
  Current LE             64
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

df-hの出力

root@server [~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/sysvg-ROOT
                      891G  125G  721G  15% /
/dev/mapper/sysvg-TMP
                      9.6G  153M  9.0G   2% /tmp
/dev/mapper/sysvg-SHM
                      8.0G  8.0K  8.0G   1% /dev/shm
/dev/sda1             190M   19M  162M  11% /boot
tmpfs                 8.0G  8.0K  8.0G   1% /dev/shm

/ etc/fstabの出力

root@server [~]# cat /etc/fstab
/dev/sysvg/ROOT /       ext3    usrjquota=quota.user,jqfmt=vfsv0        1       1
/dev/sysvg/TMP          /tmp                    ext3    defaults        1 2
/dev/sysvg/SHM  /dev/shm        ext3    defaults,usrquota       1       2
LABEL=/boot             /boot                   ext3    defaults        1 2
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
/tmp             /var/tmp                    ext3    defaults,bind,noauto        0 0

スワップパーティションの作成方法がわからないので、データ損失の原因となるのではないかと心配しています。

1
iLinux85

スワップを作成するには、いくつかのことを行う必要があります。

  1. スワップが存在する場所に使用可能なスペース(スペアブロックデバイス(通常はパーティション)または通常のファイル)を用意します。 1GBのファイルを作成するには、例を使用します。

    dd if=/dev/zero of=/path/to/swap/file bs=1M count=1k
    
  2. mkswapコマンドを使用してスワップを準備します。これにより、デバイス/ファイル上のデータが消去されます(そこにいくつかのデータ構造が作成されます)。

  3. swapon /path/to/swap/device_or_fileでスワップをアクティブにします。スワップファイルの場合、基礎となるファイルシステムを最初にマウントする必要があります。

  4. 簡単にマウントできるように、fstabに入れます。

    /path/to/swap/device_or_file    swap    swap    defaults    0    0
    

swapoffは、デバイスへのスワッピングを無効にします。 swaponswapoffの両方に-aオプションがあり、すべてのスワップへのスワップを有効/無効にします。swapon -aは、/etc/fstabに記載されているすべてのスワップを有効にします。 noautoオプションを設定すると、swapoff -aallスワップを無効にします。

ファイルへのスワッピングには、スワッピング専用に予約された個別のパーティション/デバイスを必要としないという利点がありますが、さまざまなオーバーヘッドが発生します。読み取り/書き込みはファイルシステムレイヤーを通過し、ファイルの内容はハードドライブ上のデバイス(フラグメント化)全体に分散する可能性があります回転プレートを使用すると、応答が遅くなる可能性があります。

私の理解では、only file-swapで休止状態(ディスクにサスペンド)することはできません。ウェイクアップ時に、カーネルは保存されたイメージをスワップから読み取る必要があり、最初にファイルシステムをマウントする必要があるためです。これは、休止状態のシステムでは重大な結果をもたらす可能性があります。

2
peterph

次の手順を使用してスワップスペースを作成できます(ここでは/home/でスワップを作成しています)

1)dd if=/dev/zero of=/home/swapfile1 bs=1024 count=8388608(カウントはスワップスペースのキロバイトカウントです)

2)mkswap /home/swapfile1

3)vi /etc/fstabエントリを作成:/home/swapfile1 swap swap defaults 0 0

4)swapon -a

1
minhas23

Lvmにスワップパーティションを作成するには(ボリュームグループがvgroup000と呼ばれ、lv_swapと呼ばれる4GBのスワップパーティションを作成するとします):

lvm lvcreate vgroup000 -n lv_swap -L 4GB
mkswap /dev/vgroup000/lv_swap

起動するたびにマウントするには、次の行を/ etc/fstabに追加します。

/dev/vgroup000/lv_swap    swap    swap    defaults    0    0

すぐにマウントするには:

swapon -a
1
taffer