Linux
linux + 添加交換空間
我執行了以下過程以添加400m到交換,
我從 sdb 磁碟中取出400m用於交換增加
一切都很好,但在最後一個命令之前,我執行了
mkswap /dev/rootvg/swap
我從 mkswap 收到以下警告消息
mkswap: /dev/rootvg/swap: warning: don't erase bootbits sectors on whole disk. Use -f to force. Setting up swapspace version 1, size = 2490364 KiB no label, UUID=2f42fa37-987d-40a5-8cf6-5707e1d8f077
最終swap如預期擴展至2.4G
但我不太擔心來自 mkswap 命令的警告資訊
請告知警告的含義:
mkswap: /dev/rootvg/swap: warning: don't erase bootbits sectors on whole disk. Use -f to force.
如果這樣可以嗎?
我在 linux redhat 機器上的程序 - 版本 6
# swapon -s Filename Type Size Used Priority /dev/dm-1 partition 2064380 0 -1 # free total used free shared buffers cached Mem: 5991892 539036 5452856 212 70444 270664 -/+ buffers/cache: 197928 5793964 Swap: 2064380 0 2064380 # pvs PV VG Fmt Attr PSize PFree /dev/sdb rootvg lvm2 a--u 7.97g 416.00m /dev/sdc orahome lvm2 a--u 30.00g 15.00g # lsblk /dev/sdb NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 8G 0 disk |-rootvg-swap (dm-1) 253:1 0 2G 0 lvm [SWAP] |-rootvg-slash (dm-2) 253:2 0 576M 0 lvm / |-rootvg-usr (dm-3) 253:3 0 1.4G 0 lvm /usr |-rootvg-home (dm-4) 253:4 0 256M 0 lvm /home |-rootvg-opt (dm-5) 253:5 0 416M 0 lvm /opt `-rootvg-var (dm-6) 253:6 0 3G 0 lvm /var # swapon -s Filename Type Size Used Priority /dev/dm-1 partition 2064380 0 -1 # swapoff /dev/rootvg/swap # lvresize /dev/rootvg/swap -L +400m Rounding size to boundary between physical extents: 416.00 MiB. Size of logical volume rootvg/swap changed from 1.97 GiB (63 extents) to 2.38 GiB (76 extents). Logical volume swap successfully resized. # mkswap /dev/rootvg/swap mkswap: /dev/rootvg/swap: warning: don't erase bootbits sectors on whole disk. Use -f to force. Setting up swapspace version 1, size = 2490364 KiB no label, UUID=2f42fa37-987d-40a5-8cf6-5707e1d8f077 # swapon /dev/rootvg/swap # free total used free shared buffers cached Mem: 5991892 539680 5452212 212 70536 270892 -/+ buffers/cache: 198252 5793640 Swap: 2490364 0 2490364
看起來像是一種安全預防措施,可以防止您破壞引導扇區等……當您使用整個磁碟時,您可能打算使用分區。
此警告消息不再出現在 CentOS 6.5 和 Ubuntu 16.04 中。
這個較舊的(2006)模糊地定義了引導位: http
mkswap.c
://code.metager.de/source/xref/busybox/util-linux/mkswap.c/* char bootbits[1024]; Space for disklabel etc. */
從 CentOS 6.5 開始
mkswap.c
:if (is_whole_disk_fd(fd, devname)) { /* don't zap bootbits on whole disk -- we know nothing * about bootloaders on the device */ whole = 1; zap = 0;
我對 C 語言並不感到驚訝,但新程式碼看起來更智能,並且可能保留了啟動數據。我沒有深入研究那麼遠。