Swap partition хэмжээ нэмэх (resize swap)

Linux суулгах явцдаа диск хуваарилалтыг автоматаар үргэлжлүүлсэн тохиолдолд swap-ийг автоматаар үүсгэх бөгөөд сүүлд санах ой нэмэх , бааз үүсгэх үед санах ойтой холбоотой алдаанууд гардаг. Уг хэмжээсийг файл болон partition хэлбэрээр ихэсгэж болох бөгөөд энэ удаад partition буюу шинэ диск ашиглан хэрхэн нэмэгдүүдэх талаар танилцуулъя.

Одоогийн хэмжээг ашиглах

[root@rac-node01 ~]$ swapon -s
Filename				Type		Size	Used	Priority
/dev/dm-1               partition	2097148	  0	      -1
[root@rac-node01 ~]$

Дээрхээс харахад 2ГБ хэмжээтэй байна.

swap-д зориулж 12гб хэмжээ бүхий /dev/sdp дискийг оруулж ирсэн байгаа бөгөөд түүнд swap partition үүсгэе.

[root@rac-node01 ~]$ fdisk /dev/sdp
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x0a4eea44.

Command (m for help): p

Disk /dev/sdp: 12.9 GB, 12884901888 bytes, 25165824 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0a4eea44

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
First sector (2048-25165823, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-25165823, default 25165823):
Using default value 25165823
Partition 1 of type Linux and of size 12 GiB is set

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@rac-node01 ~]$

Ямар volume group, logical volume байгааг харцгаая

[root@rac-node01 ~]$ vgs
  VG #PV #LV #SN Attr   VSize  VFree
  ol   2   3   0 wz--n- 62.99g 0g
[root@rac-node01 ~]$

[root@rac-node01 ~]$ lvs
  LV   VG Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home ol -wi-ao---- 16.07g
  root ol -wi-ao---- 32.92g
  swap ol -wi-ao----  2.00g
[root@rac-node01 ~]$

ol нэртэй volume group -ийн хэмжээг ихэсгэе

[root@rac-node02 ~]$ swapoff -a
[root@rac-node01 ~]$ vgextend ol /dev/sdp1
  Volume group "ol" successfully extended
[root@rac-node01 ~]$
[root@rac-node01 ~]$ vgs
  VG #PV #LV #SN Attr   VSize  VFree
  ol   2   3   0 wz--n- 62.99g 12.00g
[root@rac-node01 ~]$

swap -ийн хэмжээг одоо ихэсгэе

[root@rac-node01 ~]$ swapoff -v /dev/mapper/ol-swap
swapoff /dev/mapper/ol-swap
[root@rac-node01 ~]$  lvextend -l +100%FREE -r /dev/mapper/ol-swap
fsck from util-linux 2.23.2
  Size of logical volume ol/swap unchanged from 14.00 GiB (3584 extents).
  Logical volume ol/swap successfully resized.
[root@rac-node01 ~]$
[root@rac-node01 ~]$ vgs
  VG #PV #LV #SN Attr   VSize  VFree
  ol   2   3   0 wz--n- 62.99g    0
[root@rac-node01 ~]$ mkswap /dev/mapper/ol-swap
mkswap: /dev/mapper/ol-swap: warning: wiping old swap signature.
Setting up swapspace version 1, size = 14680060 KiB
no label, UUID=fa794373-8b88-4af1-a107-ba9126578d95
[root@rac-node01 ~]$ swapon -va
swapon /dev/mapper/ol-swap
swapon: /dev/mapper/ol-swap: found swap signature: version 1, page-size 4, same byte order
swapon: /dev/mapper/ol-swap: pagesize=4096, swapsize=15032385536, devsize=15032385536
[root@rac-node01 ~]$ cat /proc/swaps
Filename				Type		Size	Used	Priority
/dev/dm-1                               partition	14680060	0	-1
[root@rac-node01 ~]$

Дээрх үр дүнгээс хэмжээ өөрчлөгдсөн нь харагдаж байна.

SWAP -д зориулсан Swappiness параметр нь 0-100 гэсэн утгыг авах бөгөөд 100 руу дөхөх тусам санах ойд зай үлдээж swap файлыг ашиглана гэсэн үг юм.

Тиймээс swap хэр ашиглахыг тохируулж болно.

[root@rac-node01 ~]$ cat /proc/sys/vm/swappiness
30
[root@rac-node01 ~]$
[root@rac-node01 ~]$  sysctl vm.swappiness=20
vm.swappiness = 20
[root@rac-node01 ~]$  cat /proc/sys/vm/swappiness
20
[root@rac-node01 ~]$

Сервер унтарч асахад уг тохиргоог идэвхтэй байлгахын тулд /etc/sysctl.conf файлд дараах мөрийг нэмж өг.

vm.swappiness = 10

Дараагийн тохируулах тохиргоо бол sysctl vm.vfs_cache_pressure=50 юм. Энэ нь дистэй холбоотой метадата мэдээллийг cache-д хэр удаан хадгалахыг тодорхойлно. 100 руу дөхөх тусам cache бараг хэрэглэхгүй учир шаардлагатай мэдээллийг дуудахад тодорхой хэмжээний ачаалал өгч байна гэсэн үг юм.

[root@rac-node01 ~]$ cat /proc/sys/vm/vfs_cache_pressure
100
[root@rac-node01 ~]$  sysctl vm.vfs_cache_pressure=50
vm.vfs_cache_pressure = 50
[root@rac-node01 ~]$
2 Likes

Disk management - ээ auto - аар хийдэг хүмүүст их хэрэгтэй эд дээ ххэ

1 Like

Yes. Харин тэгчихээд байдаг тал байдаг.