Как увеличить размер диска на Vagrant VM?

Нажмите Ctrl + L, чтобы перейти к адресной строке. Чтобы включить его навсегда, нажмите Alt + F2 и введите gconf-editor Перейдите к приложениям >> nautilus >> preferences Поместите галочку в always_use_location_entry Теперь панель адресов будет постоянно установлена ​​в nautilus.
1
задан 7 July 2013 в 13:20

4 ответа

Я автоматизировал добавление диска в свой Vagrantfile:

Vagrant.configure("2") do |config|
    ...
    file_to_disk = File.realpath( "." ).to_s + "/disk.vdi"

    if ARGV[0] == "up" && ! File.exist?(file_to_disk) 
       puts "Creating 5GB disk #{file_to_disk}."
       vb.customize [
            'createhd', 
            '--filename', file_to_disk, 
            '--format', 'VDI', 
            '--size', 5000 * 1024 # 5 GB
            ] 
       vb.customize [
            'storageattach', :id, 
            '--storagectl', 'SATA Controller', 
            '--port', 1, '--device', 0, 
            '--type', 'hdd', '--medium', 
            file_to_disk
            ]
   ...
   config.vm.provision "shell", path: "scripts/add_new_disk.sh"
   ...
end

Где сценарий оболочки add_new_disk.sh выглядит следующим образом:

set -e
set -x

if [ -f /etc/disk_added_date ]
then
   echo "disk already added so exiting."
   exit 0
fi


sudo fdisk -u /dev/sdb <<EOF
n
p
1


t
8e
w
EOF

pvcreate /dev/sdb1
vgextend VolGroup /dev/sdb1
lvextend /dev/VolGroup/lv_root
resize2fs /dev/VolGroup/lv_root

date > /etc/disk_added_date

Этот скрипт предназначен для centos 6.4, но может быть легко адаптирован к ubuntu.

Вместо добавления диска другие опции включают:

, используя поле с большим диском, например, opscode bento с 40Gb диски создают вашу собственную коробку с помощью пакета. Вы можете использовать определения упаковщика пакетов opscode как отправную точку
14
ответ дан 24 May 2018 в 20:14
  • 1
    Привет, я хотел бы попробовать ваше решение. Можете ли вы подтвердить, где в Vagrant File этот раздел кода был добавлен? С уважением – Rudi Strydom 16 September 2014 в 16:48
  • 2
    @RudiStrydom Я обновляю ответ - надеюсь, теперь это имеет больше смысла. – Chris Snow 16 September 2014 в 22:38
  • 3
    Это должно добавить в блок config.vm.provider :virtualbox do |vb|, чтобы сделать вещи более понятными – B T 5 October 2014 в 07:17
  • 4
    Если вы получаете «указать размер или экстенты», ошибка для lvextend, попробуйте lvextend -l +100%FREE /dev/VolGroup/lv_root вместо этого – Andomar 8 October 2014 в 17:19
  • 5
    В вашем примере будет создан диск 5 ТБ (единица измерения - размер MB, см. virtualbox.org/manual/ch08.html#vboxmanage-createvdi ). – backflip 31 January 2015 в 14:00

Вы можете использовать плагин, который позволит вам указать размер диска https://github.com/sprotheroe/vagrant-disksize

3
ответ дан 24 May 2018 в 20:14

Я нашел этот самый простой способ решить эту проблему:

Установить этот плагин: vagrant plugin install vagrant-disksize Изменить Vagrantfile:

Vagrant.configure('2') do |config| ... config.vm.box = 'ubuntu/xenial64' config.disksize.size = '50GB' ... end

Установите этот плагин: vagrant plugin install vagrant-disksize vagrant up
1
ответ дан 24 May 2018 в 20:14

отказ от ответственности: ответ скорее всего применим только для дистрибутивов с использованием логического управления томами, например, rhel, для которого применяется следующий прецедент:

Я использую официальный брандмауэр Red Hat Enterpise 7.2, официально предоставленный красной шляпой .

(вам понадобится учетная запись разработчика rhel, которую вы можете создать бесплатно)

После установки меня беспокоил тот факт, что доступны только 8 ГБ:

[ f1]

И как вы можете видеть, большая часть пространства уже была использована установкой rhel.

Однако я обнаружил, что группа томов, соответствующая файловой системе /dev/mapper/VolGroup00-root, имела дополнительное пространство (которое Я полагаю, что в терминах виртуальной коробки было выделено динамическое распределение)

sudo vgdisplay VolGroup00
  --- Volume group ---
  VG Name               VolGroup00
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  11
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               39,70 GiB
  PE Size               4,00 MiB
  Total PE              10164
  Alloc PE / Size       7872 / 30,75 GiB
  Free  PE / Size       2292 / 8,95 GiB
  VG UUID               JBVwpl-13KX-HbQw-FqUa-CA9w-swpF-dF6glm

. Осталось только сделать следующее:

отказ от ответственности: ответ скорее всего применим только для distros с использованием управления логическими томами, например rhel, для которого применяется следующий прецедент: ) Увеличьте размер нашего логического тома, скажем, 10G

sudo lvextend -L+10G /dev/VolGroup00/root [!d1 2]

и

b) Обновите корневую файловую систему, чтобы она узнала об этом изменении

sudo xfs_growfs /dev/mapper/VolGroup00-root

(обратите внимание, что, по крайней мере, для rhel 7.2 resize2fs не будет работать для этой цели).

После этого дополнительное пространство было доступно для моей файловой системы:

sudo df -h
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-root   18G  2,5G   16G  14% /
devtmpfs                     234M     0  234M   0% /dev
tmpfs                        245M     0  245M   0% /dev/shm
tmpfs                        245M  4,3M  241M   2% /run
tmpfs                        245M     0  245M   0% /sys/fs/cgroup
/dev/sda2                    297M  134M  164M  45% /boot
tmpfs                         49M     0   49M   0% /run/user/1000

... никакого вмешательства в виртуальный бокс уровень

0
ответ дан 24 May 2018 в 20:14

Другие вопросы по тегам:

Похожие вопросы: