Help mounting a drive on proxmox

Hello, I’ve trying to mount a secondary drive on my HAOS VM running on proxmox, read a few posts here people trying to do the same but It isn’t working for me. The device is already recogniced as /dev/sdb I read somewhere that I need to format it but using SSH & web terminal addon I cannot format it using mkfs - command not found on HA command line. Also tried mount /dev/sdb - permission denied. Also tried mounting on fstab but still nothing. Anyone knows how do I have to mount this?

ls -l /dev/sd*
brw-rw----    1 root     disk        8,   0 Nov 15 10:20 /dev/sda
brw-rw----    1 root     disk        8,   1 Nov 15 10:20 /dev/sda1
brw-rw----    1 root     disk        8,   2 Nov 15 10:20 /dev/sda2
brw-rw----    1 root     disk        8,   3 Nov 15 10:20 /dev/sda3
brw-rw----    1 root     disk        8,   4 Nov 15 10:20 /dev/sda4
brw-rw----    1 root     disk        8,   5 Nov 15 10:20 /dev/sda5
brw-rw----    1 root     disk        8,   6 Nov 15 10:20 /dev/sda6
brw-rw----    1 root     disk        8,   7 Nov 15 10:20 /dev/sda7
brw-rw----    1 root     disk        8,   8 Nov 15 10:20 /dev/sda8
brw-rw----    1 root     disk        8,  16 Nov 15 10:20 /dev/sdb

Format your drive first in proxmox.

Then pass the device through to HAOS VM.

Then follow Mounting Hard Drive to Home Assistant OS - Part 1: Root Access - YouTube .

I cannot format “directly” on proxmox, it’s a virtual disk created on the VM just like the disk where HAOS is installed on. And when trying to access the VM it goes directly to HA command line

OK. Virtual disk. Can you plug the virtual disk onto another VM (a Debian one maybe), format it there, unplug, and plug into HAOS?

How to mount a second virtual disk in Home Assistant and share it?

Why is this necessary? If Home Assistant is installed on a virtual machine and we have increased the storage capacity on the virtual machine by adding physical media, then it may be necessary to add an additional disk to Home Assistant as network storage, for torrent rocking, for media library, photos, for video recordings from cameras and at the same time we do not occupy the main storage from Home Assistant.

What do we need?
Samba NAS Addon
Visual Studio Code on Windows
USB flash drive
Generate a key and create an authorized_keys file

Generate keys for remote access to Home Assistant, for running SSH Server, for debugging Home Assistant. Important! Not to be confused with the “SSH & Web Terminal” and “Terminal & SSH” addons, they are not involved in this and make sure that these addons do not have port 22222 specified, otherwise there will be a conflict with the debug SSH Server

Run on Windows PowerShell and enter the command

ssh-keygen -t rsa -b 4096

Then we do not specify anything and press Enter for all questions, and after that we will have two keys, private and public. We will need the public key id_rsa.pub, which will be located in the user’s folder. For example, I have here

c:\Users\Divan.ssh
id_rsa – private key
id_rsa.pub – public key (we need it)

Open id_rsa.pub in notepad++ and see the key. Copy everything except the username
image

Open Visual Studio Code, create a new text file

Insert the copied key
image

And after it should be like ISO 8859-1 and LF
image

We save the file to a convenient location and name it in authorized_keys, then we will upload this file to a USB flash drive

When saving, select “No extensions”, which is at the very bottom and assign the name authorized_keys
image

Format the flash drive in any format: FAT32 / NTFS and assign a name to the flash drive CONFIG.
Important! Specify the CONFIG name unchanged, as is. Large letters and only CONFIG
image

We throw the authorized_keys file on the flash drive
image

A VM can have multiple disks and any size. For example, I added a second disk with a capacity of 5 GB. Launch Home Assistant. Insert the flash drive later when the Home Assistant is loaded
image

After the Home Assistant is loaded, we need to get into the logs, and then open the supervisor logging

Insert the flash drive and throw it into the Home Assistant. We look at the logs and should see how the screenshots are, not exactly exactly, but there should be records about adding a flash drive. After this entry, you need to import the keys via the Home Assistant console with the ha os import command

In the console, enter the command ha os import and if successful, then below will be the message Command completed successfully

We look at the log where, after successful import, there should be such an entry. If this entry is there, then everything is done correctly and we have an SSH Server ready to start debugging

Open Windows PowerShell in Windows and enter the command

ssh root@ip вашего home assistant -p 22222

After a successful login, the welcome window Home Assistant OS will appear

In this mode, we can do anything with disks, format, mount, unmount.
lsblk - view the list of disks
lsblk | grep sd - view mounted disks

Mounting disks
mount /dev/sdb /mnt/data/supervisor/media/share
mount /dev/sdc1 /mnt/data/supervisor/media/usb
mount /dev/sdb /mnt/data/supervisor/media/hdd

Unmount
umount /dev/sdb

Format a disc with a label assignment

mkfs.ext4 -L VM-HDD-01 /dev/sdb1

Find out the UUIDs of the sections

 blkid | grep sdb

Run the command to view the disks

Lsblk

We find our virtual disk, which we added on the virtual machine. In my case, it’s 5 GB. Pay attention to the name of the disk, in my case it is sdb, it may be different.

We need to format this section and assign it a label. Any label name, for example, I decided to specify VM-HDD-01
Formatting and assigning a label to a disc is done with this command

mkfs.ext4 -L VM-HDD-01  /dev/sdb

image

We check whether the disk has been assigned a name by the command. Please note that sdb is the name of the disk we are working with

blkid | grep sdb

If everything is correct, then we will see our disk with the label VM-HDD-01. We will use this label in the Samba NAS addon

We add addons to the repositories and find Samba NAS

How do I set up the Samba NAS addon?
Installing the Samba NAS addon. This Samba NAS addon is needed if we want to mount a second disk and make it available over the network, as well as allow writing to an additional disk. Be sure to use a private key. Without the key, we will not be able to download files from the torrent addon. It will be possible to upload files only from Windows as to a network drive, but we need to be able to upload files inside HAOS

  1. Turn off protected mode, the disk will not be mounted without it

  2. Switching to text mode

  3. We specify any username and password and add the disk that we are going to connect. We specify the label of the disk and the one that we created ourselves according to the instructions “How to mount a second virtual disk in Home Assistant and share it”
    moredisks:

  • VM-HDD-01
  1. Be sure to turn on medialibrary and insert the key from the private key, not the public one, which is called id_rsa. Open id_rsa in notepad++ and copy the entire contents of the key and paste it as in the screenshot. It is important that the key must strictly be indented so that everything turns blue, otherwise we will not be able to apply the settings

    image

Full view of the correct medialibrary setup

  1. Save the settings and run the Samba NAS addon. We do not touch the other settings, but if you wish, you can configure the connection to MQTT.

  2. We are looking at the log where we should be notified about the successful connection to SSH and mounting the disk

  3. Through Windows Explorer, access to network drives can only be obtained by the HAOS host name, it will not be possible to connect to the IP address, because there is a record in the logs about the host to which we can connect.


If you don’t know the HAOS hostname, then you can see the hostname here

How do I set up Transmission?

If we mount the disk through the Samba NAS addon, then when using the Transmission addon and downloading files, the files are not uploaded to the mounted disk. The reason is that the disk is not actually mounted, so you need to configure the Samba NAS addon correctly. How to configure the Samba NAS addon read the instructions for configuring Samba NAS.

After configuring the Samba NAS addon, in the Transmission addon we prescribe 3 parameters as in the screenshot. You can find the local disks itself by opening additional parameters. We specify the paths to the disk with the label as in the screenshot below. If you do not specify the disk label, then our files will be uploaded to the main CHAOS storage, which we do not need. We need the files to be uploaded to the second disk that we have connected, so we specify the disk label.

If you want these files to be available in Multimedia, then you need to specify the /media folder and specify the paths as in the screenshot.
image

To check, I recommend first taking a screenshot of the storage volume. This is necessary for comparison before downloading files and after. After downloading the files, the main storage should not increase in size. If the size of the main storage has not increased, then everything has been done correctly and the file has loaded onto the second disk
image

Текст на русском (Text in Russian)

Как примонтировать в Home Assistant второй виртуальный диск и расшарить?

Зачем это нужно? Если Home Assistant установлен на виртуальной машине и мы увеличили объем хранилища на виртуальной машине путем добавления физического носителя, то может появиться необходимость добавить в Home Assistant дополнительный диск в качестве сетевого хранилища, для торрент качалок, для медиатеки, фото, для видеозаписей с камер и при этом мы не занимаем основное хранилище у Home Assistant.

Что нам нужно?
Аддон Samba NAS
Visual Studio Code на Windows
Флешка
Сгенерить ключ и создать файлик authorized_keys

Сгенерируем ключи для удаленного доступа к Home Assistant, для запуска SSH Server, для отладки Home Assistant. Важно! Не путать с аддонами «SSH & Web Terminal» и «Terminal & SSH», они не участвуют в этом и убедитесь, что у этих аддонов не указан порт 22222, иначе будет конфликт с отладочным SSH Server

Запускаем на Windows PowerShell и вводим команду

ssh-keygen -t rsa -b 4096

Далее ничего не указываем и нажимаем на Enter на все вопросы, а после у нас появятся два ключа, закрытый и публичный. Нам понадобится публичный ключ id_rsa.pub, который будет находиться в папке пользователя. У меня например находится здесь
c:\Users\Divan.ssh
id_rsa – приватный ключ
id_rsa.pub – публичный ключ (он нам и нужен)

Открываем id_rsa.pub в notepad++ и видим ключ. Копируем все, кроме имя пользователя
image

Открываем Visual Studio Code, создаем новый текстовый файл

Вставляем скопированный ключ
image

И после должно быть так ISO 8859-1 и LF
image

Сохраняем файл в удобное нам место и именуем в authorized_keys, потом этот файл закинем на флешку

При сохранении выбираем «Нет расширений», которое находится в самом низу и присваиваем имя authorized_keys
image

Форматируем флешку в любой формат: FAT32/NTFS и присваиваем имя флешке CONFIG.
Важно! Указывать имя CONFIG без изменении, как есть. Большие буквы и только CONFIG
image

Закидываем на флешку файл authorized_keys
image

На виртуальной машине может быть несколько дисков и любого объема. На примере я добавил второй диск с объемом 5 Гб. Запускаем Home Assistant. Флешку вставлять потом, когда Home Assistant загрузится
image

После того, как загрузится Home Assistant, нам нужно попасть в журналы, а после открыть журналирование супервайзера

Вставляем флешку и прокидываем в Home Assistant. Смотрим логи и должны увидеть как на скриншоты, не прям точь в точь, но должны быть записи о добавлении флешки. После этой записи нужно импортировать ключи через консоль Home Assistant командой ha os import

В консоли вводим команду ha os import и если успех, то ниже будет сообщение Command completed successfully

Смотрим лог, где после успешного импорта должна быть такая запись. Если эта запись есть, значит все сделано верно и у нас готов SSH Server для запуска отладки

Открываем в Windows Windows PowerShell и вводим команду

ssh root@ip вашего home assistant -p 22222

После успешного входа появится приветственное окно Home Assistant OS

В этом режиме мы можем делать с дисками что угодно, форматировать, монтировать, размонтировать.
lsblk - просмотреть список дисков
lsblk | grep sd - просмотреть смонтированные диски

Монтируем диски
mount /dev/sdb /mnt/data/supervisor/media/share
mount /dev/sdc1 /mnt/data/supervisor/media/usb
mount /dev/sdb /mnt/data/supervisor/media/hdd

Размонтировать
umount /dev/sdb

Форматировать диск с присвоением лейбла

mkfs.ext4 -L VM-HDD-01 /dev/sdb1

Узнать UUID’ы разделов

 blkid | grep sdb

Запускаем команду для просмотра дисков

Lsblk

Находим свой виртуальный диск, который мы добавили на виртуальной машине. В моем случае это 5 ГБ. Обратите внимание на имя диска, в моем случае это sdb, он может отличаться.

Нам необходимо форматнуть этот раздел и присвоить ему лейбл. Имя лейбла любое, я к примеру решил указать так VM-HDD-01
Форматирование и присвоение лейбла диску делаем такой командой

mkfs.ext4 -L VM-HDD-01  /dev/sdb

image

Проверяем, присвоилось ли имя диску командой. Обратите внимание, что sdb это имя диска с которым мы работаем

blkid | grep sdb

Если все верно, то мы увидим наш диск с лейблом VM-HDD-01. Этот лейбл мы будем использовать в аддоне Samba NAS

Добавляем в репозитории аддонов и находим Samba NAS
GitHub - dianlight/hassio-addons: Hassio.io

Как настроить аддон Samba NAS?
Устанавливаем аддон Samba NAS. Данный аддон Samba NAS нужен в том случае, если хотим примонтировать второй диск и сделать его доступным по сети, а также позволить записывать на дополнительный диск. Обязательно нужно использовать приватный ключ. Без ключа у нас не будет возможности загружать файлы с аддона торрент. Можно будет загружать файлы только с Windows как на сетевой диск, но нам нужно, чтобы была возможность загружать файлы внутри HAOS

  1. Выключаем защищенный режим, без этого не будет монтироваться диск

  2. Переключаемся в текстовый режим

  3. Указываем любой логин и пароль и добавляем диск, который собираемся подключить. Указываем лейбл диска и тот, который мы сами создали по инструкции «Как примонтировать в Home Assistant второй виртуальный диск и расшарить»
    moredisks:

  • VM-HDD-01
  1. Обязательно включаем medialibrary и вставляем ключ от приватного ключа, а не публичного, который именуется id_rsa. Открываем id_rsa в notepad++ и копируем все содержимое ключа и вставляем как на скриншоте. Важно, ключ строго должен иметь отступ чтобы все стало синим, в противном случаем у нас не получится применить настройки

    image

Полный вид правильной настройки medialibrary

  1. Сохраняем настройки и запускаем аддон Samba NAS. Остальные настройки не трогаем, но при желании можете настроить подключение к MQTT.

  2. Смотрим журнал, где нас должны уведомить об успешном подключении к SSH и монтировании диска

  3. Через проводник Windows доступ к сетевым дискам можно получить только по имени хоста HAOS, по IP адресу подключиться не получится, потому что в логах есть запись о хосте, к которому мы можем подключиться.

Если не знаете имя хоста HAOS, то имя хоста можно посмотреть здесь

Как настроить Transmission?

Если мы монтируем диск через аддон Samba NAS, то при использовании аддона Transmission и закачки файлов, файлы не загружаются на примонтированный диск. Причина тому, что диск по факту не примонтирован, поэтому необходимо настроить правильно аддон Samba NAS. Как настроить аддон Samba NAS читаем инструкцию по настройке Samba NAS.

После настройки аддона Samba NAS, в аддоне Transmission прописываем 3 параметра как на скриншоте. Сам localdisks найти можно, раскрыв дополнительные параметры. Указываем пути к диску с лейблом как на скриншоте ниже. Если не указать лейбл диска, то у нас файлы будут загружаться в основное хранилище HAOS, что нам не нужно. Нам нужно, чтобы файлы загружались на второй диск, который мы подключили, поэтому мы указываем лейбл диска.

Если хотите, чтобы эти файлы были доступны в Мультимедиа, то нужно указать папку /media и прописать пути как на скриншоте.
image

Для проверки рекомендую сперва сделать скриншот объема хранилища. Это нужно для сравнения до скачивания файлов и после. После загрузки файлов основное хранилище не должно увеличиться в размере. Если размер основного хранилища не увеличился, значит все сделано верно и файл загрузился на второй диск
image

1 Like