当尝试在 Virtualbox 5.1 内运行的 CentOS 7 VM 中通过 RPM 安装 Oracle XE 时,我收到以下错误消息:
This system does not meet the minimum requirements for swap space. Based on
the amount of physical memory available on the system, Oracle Database 11g
Express Edition requires 2048 MB of swap space. This system has 1279 MB
of swap space. Configure more swap space on the system and retry the
installation.
如何增加交换空间?
到目前为止,我已尝试按照lvm
说明进行操作这里和这里没有成功。我必须从已配置的最小 CentOS VM 开始,因此调整原始映像不是一个选项。
命令swapon -s
通知我:
Filename Type Size Used Priority
/dev/dm-1 partition 1310716 0 -1
输出lvdisplay
是:
--- Logical volume ---
LV Path /dev/cl/swap
LV Name swap
VG Name cl
LV UUID rdNgH4-Sili-NpwP-Ny3S-xtU9-MlEC-ttE5JI
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2016-12-19 22:50:56 +0000
LV Status available
# open 2
LV Size 1.25 GiB
Current LE 320
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/cl/root
LV Name root
VG Name cl
LV UUID H737Lq-OMhE-F9Lf-BlTg-3PL1-0T7O-1Ciusi
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2016-12-19 22:50:56 +0000
LV Status available
# open 1
LV Size 12.39 GiB
Current LE 3172
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
和df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 13G 9.4G 3.1G 76% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 920M 4.0K 920M 1% /dev/shm
tmpfs 920M 8.7M 912M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/sda1 1014M 239M 776M 24% /boot
tmpfs 184M 0 184M 0% /run/user/1002
tmpfs 184M 0 184M 0% /run/user/1001
tmpfs 184M 12K 184M 1% /run/user/1000
tmpfs 184M 0 184M 0% /run/user/2
/dev/sr0 57M 57M 0 100% /run/media/vagrant/VBOXADDITIONS_5.1.33_120529
vagrant 102G 77G 26G 76% /vagrant
编辑:
内容/etc/fstab
/dev/mapper/cl-root / xfs defaults 0 0
UUID=41388da5-fc65-4a34-a3da-58bb81daf744 /boot xfs defaults 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
输出vgs
VG #PV #LV #SN Attr VSize VFree
cl 1 2 0 wz--n- 13.64g 4.00m
答案1
这些是交换(问题)或普通分区的步骤。
当涉及逻辑卷 (LVM) 时,请忽略您可能在 Internet 上找到的有关使用 gparted 调整分区大小的答案 - 但当您拥有逻辑卷时为什么要这样做呢?相反,我们将创建一个额外的新分区并扩展我们的逻辑卷以包含它。
在 VirtualBox 中,打开虚拟媒体管理器。找到相关的 *.vdi 文件并确保其虚拟大小足以满足您想要的额外空间,稍微大一点是因为文件系统结构需要空间。对于这个例子的其余部分,我们将选择64GB额外的空间,所以在这一步我将任意选择65G。
然后,在您的 CentOS 虚拟机中:
- 找到“/dev/mapper/?”您正在扩展的逻辑卷的条目。对于交换使用
sudo fdisk -l
,但为了扩大正常的安装点,使用df -h
和查看文件系统更容易。在这个例子的其余部分,我们将假装它是“/dev/mapper/cl-root”。 - 用于
sudo lsblk
查找卷所在的驱动器(实际上是您的 vdi)。对于这个例子,我假设它是“/dev/sda”。 sudo fdisk /dev/sda
。使用命令n
(添加分区)然后p
(主分区)。接受所有默认值,但对于“最后一个扇区”,输入我们的选择+64G
,或者如果您想要所有剩余空间,则接受其默认值。使用命令w
写入和退出。如果询问,请重新启动。- 在最后一步中,我们创建了一个新分区,因此如果您没有重新启动,请将其添加到 /dev 表中。例如。
pvcreate /dev/sda3
。现在可能会要求您重新启动内核以使用新表,所以就这样做吧。 sudo vgscan
了解卷组的名称。问题中是“cl”- 允许/扩展卷组以包含我们创建的分区:
sudo vgextend cl /dev/sda3
- 获取您想要的逻辑卷以使用我们想要的数量:
sudo lvextend -L +64G /dev/mapper/cl-root
。如果它不能满足您的需求,它会很好地告诉您最大“范围”,您可以使用sudo lvextend -l [extents] /dev/mapper/cl-root
- 进行交换时请跳过此步骤。将文件系统扩展到该区域。对于 ext4,您需要 resize2fs,对于 xfs,您需要
sudo xfs_growfs /dev/mapper/cl-root
答案2
您可以通过首先缩小根逻辑卷以释放空间来增加交换空间,然后将其重新分配给交换逻辑卷。您需要将交换 LV 增加 769 MB 才能达到 2048 MB,并且您的根 LV 有 3.1 GB 可用空间,因此您可以尝试以下操作:
- 缩小你的根LV。该
-r
选项也会导致文件系统调整大小:lvresize -L -769M -r c1/root
- 暂时关闭你的交换,因为你将要修改它:
swapoff
- 调整交换 LV 的大小。或者,删除它并使用连续分配重新创建它,以便物理扩展彼此相邻,以获得更好的性能:
lvresize -L +769M c1/swap
- 重新打开交换:
swapon
答案3
这就是我必须做的:
VM 停止后,右键单击计算机,然后单击“配置”->“存储”,从 Virtualbox 添加新的虚拟硬盘。单击带有 + 号的硬盘驱动器图标,然后添加 2Gb 固定大小的新磁盘。
添加新硬盘后启动机器并登录后输入:
sudo vgdisplay
这将显示卷组信息,如下所示: VG 名称氯
然后执行
sudo fdisk -l
列出可用的驱动器。您应该进入列表/dev/hdb或者/dev/sdb取决于您使用的是旋转物理驱动器还是固态物理驱动器。
现在执行:
sudo pvcreate /dev/sdb
sudo vgextend cl /dev/sdb
sudo lvextend -L+2G /dev/cl/swap
这将为交换空间添加 2Gb。
答案4
we can increase Swap with out LVM
1. dd if=/dev/zero of=/path/swapfile bs=<swapsizein gB> count=1
/path/swapfile ====> its the pathfile where available space is there and you can create swap file
2. mkswap /path/swapfile
3. swapon -v /path/swapfile
4. swapon -s ====> swap will be added