Назад | Перейти на главную страницу

понимание дискового пространства на экземпляре ec2 freebsd

Так что мне, вероятно, не хватает базовых фундаментальных знаний, когда дело доходит до дисков Unix.

На amazon-ec2 я только что создал экземпляр, в котором я указал корневое устройство размером 30 ГБ. Если я перейду к объемам, я увижу объем в использовании. Но когда я вхожу в систему по ssh и запускаю:

# df -h 
Filesystem    Size    Used   Avail Capacity  Mounted on
/dev/ad0a     9.9G    1.4G    7.7G    16%    /
devfs         1.0k    1.0k      0B   100%    /dev

Я не понимаю ?!

Также о томах в Amazon, о деталях я вижу в Приложении: /dev/sda1 , Что это на самом деле значит?

Для большинства образов AMI требуется корень размером 8 или 10 ГБ. Рассмотрите возможность использования 8 ГБ по умолчанию и добавления второго устройства на 20 ГБ и установки его там, где вам нужно использовать данные.

Если вам необходимо изменить размер, вы не можете сделать это в Интернете, поэтому вы можете:

  • Остановить экземпляр
  • Создать снимок тома A из экземпляра
  • Создать том B из снимка A
  • Присоедините том B к экземпляру как xbdf
  • Получите имя и размер нового устройства в bsd
    gpart show
  • Измените размер раздела (xbd5 для меня)
    gpart resize -i 1 -s 30G xbd5
    Параметр для -s может потребоваться немного меньше 30 ГБ, если при разбиении на разделы используются некоторые свободные блоки в начале диска.
  • Расширьте свою файловую систему
    growfs xbd5a
  • Остановить экземпляр A
  • Отсоединить том B от экземпляра
  • Отсоединить том A от экземпляра
  • Присоедините том B как / dev / sda1

Корневое разбиение AMI отсюда выглядит немного странно, я не совсем уверен, что они сделали это ymmv.

Если вы планируете создавать множество из них, вы можете настроить свой собственный образ AMI или сделать снимок рабочего тома с измененным размером, чтобы вы могли каждый раз начинать с одной и той же файловой системы 30 ГБ.

Использование Amazon /dev/sda1 для ссылки на начальное загрузочное / корневое устройство экземпляра. В Linux это относится к первому разделу первого устройства, что эквивалентно /dev/ad0a в вашем FreeBSD.

Для первого вопроса ваш раздел 10 ГБ, а диск 30. Запускаем gpart show чтобы увидеть разделы на каждом «диске», включая свободное пространство. Затем вы можете определить, какого размера должен быть раздел, и использовать gpart resize.

Как только раздел станет 30 ГБ или любого другого размера, запустите growfs для изменения размера файловой системы в разделе. Обе эти команды принимают больше аргументов, чем я перечислил здесь, подробности см. На их справочных страницах. man gpart и man growfs соответственно. Если у вас есть какие-либо конкретные проблемы с запуском команд, спросите еще раз или зайдите в болтать, там есть несколько экспертов по FreeBSD.

FreeBSD - это не Linux, хотя многие путают их (как и два ответчика, которые впоследствии удалили свои неправильные ответы). К сожалению, Amazon тоже виноват. Linux использует маркировку, аналогичную /dev/sda1 потому что это первый жесткий диск. FreeBSD использует /dev/ad0 поскольку это первый (S) жесткий диск ATA (и /dev/da0 для дисков SCSI / SAS, включая ATAPI, USB, FireWire). Solaris использует /dev/rdsk/cWtXdYsZ... Также FreeBSD добавляет буквы после имени устройства для разделов MBR, поэтому /dev/ad0a это первый раздел первого диска ATA. Вы также увидите /dev/ad0b/, по историческим причинам это весь диск, как и имя устройства без буквы раздела.

Ранние AMI FreeBSD, созданные Колином Персивалем, инициализировали rootfs с разделом 10 ГБ независимо от фактического размера тома. С тех пор это было исправлено, и начальный корневой раздел должен соответствовать начальному размеру тома.

Если вы хотите увеличить размер существующего тома, вам необходимо:

1) move (двигаться) /dev/sda1 к больший объем и

2) измените размер корневого раздела:

> gpart show
=>       3  62914549  ada0  GPT  (50G) [CORRUPT]
         3       125     1  freebsd-boot  (63K)
       128  62914424     2  freebsd-ufs  (30G)

> gpart recover ada0
ada0 recovered

> gpart show
=>        3  104857589  ada0  GPT  (50G)
          3        125     1  freebsd-boot  (63K)
        128   62914424     2  freebsd-ufs  (30G)
   62914552   41943040        - free -  (20G)

> gpart resize -i2 ada0
ada0p2 resized

> gpart show
=>        3  104857589  ada0  GPT  (50G)
          3        125     1  freebsd-boot  (63K)
        128  104857464     2  freebsd-ufs  (50G)

> growfs /
Device is mounted read-write; resizing will result in temporary write suspension for /.
It's strongly recommended to make a backup before growing the file system.
OK to grow filesystem on /dev/gpt/rootfs, mounted on /, from 30GB to 50GB? [yes/no] yes
super-block backups (for fsck_ffs -b #) at:
. . .

NB: размер тома FreeBSD нельзя уменьшать, а только увеличивать.