В этой статье описан процесс настройки резервного сервера.
В этом году я рассматриваю возможность создания машины специально для резервного копирования данных. Во-первых, на выход в этом году большой спрос. Историческое оборудование используется уже несколько лет, и для «реле» необходимо новое оборудование; Также хочу проверить надежность решения на спектрумовском уровне, решить некоторые потребности производственной среды, с которой я сталкивался, и проблемы моих друзей.
Поскольку я раньше покупал несколько устройств Synology, а «обновление ЦП» новых продуктов Synology этого года очень «умное», я решил построить такое устройство самостоятельно.
конечный продукт
Если не считать обновления жесткого диска и памяти, вся машина с ИБП стоит почти 2000 юаней. Помимо того, что она является файловым сервером, она также может запускать виртуальные машины и контейнеры Docker. По сравнению с Synology соотношение цена/производительность. гораздо выше.
Я надеюсь, что это устройство сможет удовлетворить следующие требования:
1. Он должен поддерживать резервное копирование данных (машина времени) системы macOS. Было бы лучше, если бы он поддерживал Windows (которая будет доступна в производственной среде). 2. Существует хотя бы одно надежное решение, обеспечивающее корректность и надежность записи данных. 3. Система стабильна и надежна и не требует дополнительного обслуживания в течение трех-пяти лет. 4. Относительно небольшой размер и отсутствие шума при работе. 5. За исключением устройств хранения данных (жесткий диск, память), стоимость относительно невелика и может обеспечить быструю замену оборудования для решения проблем доступности.
Кроме того, все предоставленные способности являются «дополнительными очками».
Поскольку основная привлекательность на самом деле связана с программным обеспечением, давайте посмотрим на программное решение.
Решение, которое я предпочитаю, — это система Linux, которая может работать непрерывно и стабильно без перезапуска по желанию, или система NAS, инкапсулированная на основе системы Linux. Минимальный предел — это то, что я могу знать версии программ «samba» и «afp (netatalk). ". В будущем Возможность завершить миграцию.
В этой статье мы сначала используем Ubuntu для завершения создания базового сервиса.
До этого я использовал устройства Mac и совместимое с Mac оборудование (включая этот Elite Desk) для запуска macOS, включил общий доступ к файлам и протестировал «Time Machine».
по сравнению с Linux совместимый протоколпрограммное обеспечение с открытым исходным кодом netatalk[1] Действительно, стабильность намного выше. Однако, если вы решите использовать белое яблоко и хотите ограничить затраты, емкость не сможет соответствовать фактическому использованию, если вы выберете черное яблоко, даже если конфигурация оптимизирована для него; 99% Это доступно, я думаю, что это все еще доступно 1% нестабильные факторы, и мы этого не знаем 1% Когда проблема «сработает» и насколько серьезными будут последствия. Более того, весьма вероятно, что неопределенность гораздо больше, чем 1%。
Потому что в последние годы я в основном не пользовался Windows, и моего знакомства с Windows недостаточно. Более того, в ходе недавнего эксперимента я обнаружил, что все еще существуют некоторые проблемы с длительной работой несерверных версий Windows (я приобрел Лицензии профессиональных версий).
В конце ноября я купил компьютер (Dell Optiplex), купил подлинную Windows 11 и запустил программу в системе с низкой нагрузкой. За последние два месяца я столкнулся с межсистемными сбоями «Удаленного рабочего стола», «автоматическими» обновлениями и перезапусками без предупреждения. Возможно, надежность файлового сервера требует дальнейшей проверки.
Исходя из вышеизложенных требований, я заблокировал диапазон выбора оборудования на HP EliteDesk и Dell Optiplex В двух сериях. После сравнения на этот раз мы выбрали не совершенно новую технику, а остановили свой выбор на технике, которая имеется в изобилии на рынке б/у. Elite Рабочий стол. Наконец выбрал один 2021 активировался годами, потому что 2022 Подержанные хосты выведены из эксплуатации из-за «изменений окружающей среды»: EliteDesk 800G6 SFF(Технические характеристики оборудования[2])。
Если не считать вторичного напыления на шасси для маскировки сильных неровностей при транспортировке, а если протереть шасси спиртом, то видно, что распыленная краска быстро испаряется и будет немного захлебываться, недостатков в принципе нет. (Если его не продезинфицировать, это не сработает. Сама машина не имеет запаха)
Я поленился и выбрал машину с i3-10105T. Стоимость составляет около 1600 юаней. Если у вас есть неработающий процессор, вы можете купить базовую систему примерно за 700–800 юаней.
Я приобрел подряд первые два поколения продуктов Synology. DS918+ и DS920+, но для DS 923+, это "обновлено до" AMD Ryzen 1600 Товар действительно не интересный.
Относительно дешевые, упомянутые выше. Характеристики процессора i3-10105t[3]Можетсуществовать Intel Судя по официальному сайту, соотношение цена/качество явно намного выше.
Яблочная капсула времени
Судя по внешнему виду, Яблочная капсула времени(Технические характеристики[4])все еще Очень приятно. Однако продукт существует 2018 Производство прекращается каждый год. Если есть проблемы с оборудованием, восстановить сервис, купив такое же оборудование, на самом деле немного хлопотно. Кроме того, даже если продукт будет снят с производства, текущая цена все равно будет немного высокой, поэтому его замена будет болезненной.
Что еще более важно, устройство может вместить только один диск, а само устройство имеет очень ограниченную вычислительную мощность.
Распространенные марки коробок для массивов жестких дисков
Если у нас уже есть устройство и мы не возражаем против обмена данными через кабели передачи данных USB или Thunderbolt, использование внешнего массива жесткого диска не обязательно является хорошим решением. Самое приятное в этом решении то, что на потребительском рынке существует множество вариантов внешнего вида корпусов для жестких дисков.
Однако большинство массивов жестких дисков не могут предоставлять услуги напрямую и должны использовать «хост» для предоставления услуг, не говоря уже о запуске некоторого программного обеспечения, которое мы хотим запустить. Более того, поскольку вы выбираете сборку устройства и можете использовать более надежный кабель SATA, напрямую подключенный к материнской плате, и более надежный источник питания хоста, решение в виде коробки с жестким диском не очень рентабельно. К тому же «наценка» на этот тип оборудования очень высока.
Поскольку Synology получила «отказ» в начале статьи, «Блок расширения» Synology, естественно, не включен в обсуждение. (и еще дороже)
Будь то «коробка» ARMbian или OpenWRT, если оборудование надежно, стабильность надежна, стоимость, как правило, низкая, а коэффициент энергоэффективности также очень высок.
Основной причиной отказа от этого решения является надежность оборудования, которая включает в себя три части: рассеивание тепла, возможности ввода-вывода и источник питания.
Коробчатое оборудование обычно пассивно рассеивает тепло.,Итак, если жесткий диск находится «в одной комнате»,Трудно обеспечить приемлемую температуру.,Я не хочу, чтобы этот резервный сервер появлялся“Масса Стиль»; продукты коробчатого типа учитывают энергопотребление и стоимость, поэтому CPU Относительно слабый, ИО Естественно, способность относительно слабая и может заполонить жесткий диск. IO Пропускная способность в принципе невозможна;Блок питания коробчатых изделий много нести нельзякусок Жесткий диск,Поэтому необходим независимый источник питания.,или Требуется упомянутая выше комбинация массивов жестких дисков, которая может получать независимое питание.,Ситуация «маленькая лошадка тащит большую телегу» легко.
Готовая коробочка, я тоже купил ее несколько лет назад WD My Cloud Предыдущая версия Synology ARM Продукт, с точки зрения опыта эффективности передачи, личный опыт действительно не очень хороший.
Теория окончена, пришло время практики.
Приобретение аксессуаров
Я приобрел вышеуказанные аппаратные материалы, а именно:
1. Один агрегат оснащен CPU «Barebones» для тестирования готовой тестовой материнской платы после ее приобретения. ПРОЦЕССОР. 2. Новая модель APC UPS。3.4 Гуанвэй, сделано в Китае. 32G DDR4 Память. 4.2 кусок 4T Western Digital Фиолетовый диск,Используется для проверки данных. 5. Домашний жесткий диск, сделанный в Пекине.,Используется для хранения операционных систем,И не позволяйте механическому жесткому диску переходить в спящий режим из-за запущенных программ. 6. Некоторые аксессуары: кабель для передачи данных и винты для жесткого диска.
общая стоимость 5000 Вперед, рабочее энергопотребление 27 Ватт или около того, в целом все еще очень освежает. Конечно, вы также можете сохранить часть памяти и твердотельный накопитель и купить только оборудование. UPS , нужно только 2000 Идите вперед.
Материнская плата с возможностью расширения
Материнская плата обладает хорошей масштабируемостью и поддерживает ее по умолчанию. 3 кусок SATA жесткий диск 2 кусок NVMe жесткий диск, 4 корневая карта памяти и две PCI-e слот. Для получения полной информации о возможностях расширения, пожалуйста, прочтите «Технические характеристики», упомянутые выше.
После получения машины рекомендуется сначала сделать две вещи. Во-первых, войти. BIOS , сбросить параметры к параметрам по умолчанию. Во-вторых, подключите интернет-кабель к машине и затем используйте BIOS Инструмент обновления программного обеспечения в Обновление биоса Обновляйте и избегайте программного обеспечения BUG Проблемы совместимости.
Обновление биосапроцесс
Во время процесса следует учитывать только одно: не отключайте питание, чтобы не повредить BIOS.
Учитывая, что я хочу в будущем запускать на сервере какие-то «пространственно-временные» программы и виртуальные машины, я приобрел 4-полосную память по 32 ГБ, уменьшающую ненужную «осторожность» при распределении ресурсов.
Внутренняя память
После подключения введите BIOS , вы видите нормальное распознавание. Однако, если вы хотите подтвердить, что оборудование в порядке, недостаточно просто просмотреть информацию. Вам также необходимо выполнить Тестирование. оборудования。
Идентификационная информация BIOS
Есть много способов протестировать оборудование, и это избавит вас от многих проблем, если в вашем BIOS есть инструменты тестирования.
Тестирование оборудования
Если вас это беспокоит, вы можете протестировать еще несколько раз и использовать PE или использовать инструмент тестирования для более непрерывного тестирования после завершения установки системы.
Конечно, в дополнение к одноразовому тесту перед использованием необходимо провести некоторые необходимые тесты на стабильность. Перед фактическим использованием я включил устройство и проработал с ним неделю без каких-либо неожиданных отклонений.
Состояние ожидания системы
О базовой установке и настройке системы,Может Обратитесь к этой статье《существовать Создайте экономичный ноутбук Linux Среда обучения: основы»[5]。
После завершения установки системы нам все еще необходимы некоторые дополнительные настройки, чтобы система работала лучше.
существовать Ubuntu Средняя полная уборка Запрещать Swap Требуется три шага, первый — закрыть Swap Функция:
sudo swapoff -a
Далее отредактируйте файл таблицы разделов. /etc/fstab
,удалять Swap связанные записи.
Затем, после перезагрузки машины, удалите «остаточные» файлы.
rm -rf /swapfile
После того, как вы выполните вышеуказанные действия, мы используем free -g
Проверьте системные ресурсы, и вы сможете увидеть Swap Доступная сумма становится равной нулю:
# free -g
total used free shared buff/cache available
Mem: 125 1 123 0 1 123
Swap: 0 0 0
Используйте сначала mdadm --examine
Чтобы проверить состояние механического жесткого диска, проверьте, имеют ли два целевых жестких диска одинаковую емкость.
# sudo mdadm --examine /dev/sda /dev/sdb
/dev/sda:
MBR Magic : aa55
Partition[0] : 4294967295 sectors at 1 (type ee)
/dev/sdb:
MBR Magic : aa55
Partition[0] : 4294967295 sectors at 1 (type ee)
Далее используйте sgdisk -R
Согласуйте таблицы разделов двух дисков:
sudo sgdisk /dev/sda -R /dev/sdb
После копирования таблицы разделов необходимо разбить один из дисков UUID обновить,избегайте операционной системысуществоватьиспользоватьпроблемы возникают, когда。
sudo sgdisk /dev/sdb -G
Затем используйте mdadm --create --level=mirror
Создайте дополнительный дисковый массив:
# sudo mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sda /dev/sdb
mdadm: /dev/sda appears to be part of a raid array:
level=raid1 devices=2 ctime=Thu Jan 5 20:47:30 2023
mdadm: partition table exists on /dev/sda but will be lost or
meaningless after creating array
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
mdadm: partition table exists on /dev/sdb
mdadm: partition table exists on /dev/sdb but will be lost or
meaningless after creating array
Continue creating array?
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
создать Дисковый массив нужно подождать некоторое время,Срок выполнения и емкость диска, которой вам хватит на покупку,И протокол передачи данных диска и материнской платы,и ваше устройство CPU Вычислительная мощность – все взаимосвязано.
Мы всегда можем пройти cat /proc/mdstat
Чтобы проверить ход построения массива:
# cat /proc/mdstat
HP-EliteDesk-800-G6-Small-Form-Factor-PC: Thu Jan 5 21:50:56 2023
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb[1] sda[0]
3906886464 blocks super 1.2 [2/2] [UU]
[=>...................] resync = 9.6% (375538432/3906886464) finish=325.5min speed=180783K/sec
bitmap: 28/30 pages [112KB], 65536KB chunk
unused devices: <none>
Когда построение массива завершено, проверяем еще раз mdstat
Когда вы увидите вывод журнала, аналогичный следующему:
# sudo cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb[1] sda[0]
3906886464 blocks super 1.2 [2/2] [UU]
bitmap: 0/30 pages [0KB], 65536KB chunk
unused devices: <none>
Мы также можем использовать mdadm --detail
Чтобы просмотреть подробную информацию о массиве:
# sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Jan 5 21:15:24 2023
Raid Level : raid1
Array Size : 3906886464 (3.64 TiB 4.00 TB)
Used Dev Size : 3906886464 (3.64 TiB 4.00 TB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Fri Jan 6 23:29:38 2023
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : bitmap
Name : 0
UUID : bd87e586:257740d3:5fd50282:ccc8b145
Events : 6144
Number Major Minor RaidDevice State
0 8 0 0 active sync /dev/sda
1 8 16 1 active sync /dev/sdb
Если вы существовали во время сборки,по каким-то причинам,Хочу прекратить строительство,Можетиспользовать idle
чтобы прервать сборку или использовать frozen
Приостановите задачу, когда она придет.
echo idle > /sys/block/md0/md/sync_action
echo frozen > /sys/block/md0/md/sync_action
Если вы хотите полностью перестроить массив, вы можете использовать следующую команду, чтобы вернуть массив в предыдущее состояние:
sudo mdadm -Esv
sudo mdadm --stop /dev/md*
После завершения построения массива,Хотите использовать дисковый массив,Сначала необходимо завершить монтирование диска и его инициализацию (форматирование).
# sudo mkfs.ext4 /dev/md0
mke2fs 1.46.5 (30-Dec-2021)
Discarding device blocks: done
Creating filesystem with 976721616 4k blocks and 244187136 inodes
Filesystem UUID: f7014dd5-b7b1-466c-ae42-2b49c43cbb57
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done
Вручную смонтируйте диск в /data
Для этого пути мы можем сделать это:
sudo mkdir /data
sudo mount /dev/md0 /data
а затем использовать df
Чтобы проверить готовность диска:
# df -h /data
Filesystem Size Used Avail Use% Mounted on
/dev/md0 3.6T 28K 3.4T 1% /data
Когда на самом деле использовать,Например, после того как у нас файл на разделе существует,Диск автоматически выполнит действие по зеркалированию файлов.,Повышение надежности доступа к файлам.
# touch /data/test.go
# sudo mdadm --examine /dev/sda /dev/sdb
/dev/sda:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : bd87e586:257740d3:5fd50282:ccc8b145
Name : 0
Creation Time : Thu Jan 5 21:15:24 2023
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 7813772976 sectors (3.64 TiB 4.00 TB)
Array Size : 3906886464 KiB (3.64 TiB 4.00 TB)
Used Dev Size : 7813772928 sectors (3.64 TiB 4.00 TB)
Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=48 sectors
State : clean
Device UUID : da33683e:54478a8b:cd6fd10e:1a19114c
Internal Bitmap : 8 sectors from superblock
Update Time : Fri Jan 6 23:29:14 2023
Bad Block Log : 512 entries available at offset 24 sectors
Checksum : 5ad089e9 - correct
Events : 6144
Device Role : Active device 0
Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdb:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : bd87e586:257740d3:5fd50282:ccc8b145
Name : 0
Creation Time : Thu Jan 5 21:15:24 2023
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 7813772976 sectors (3.64 TiB 4.00 TB)
Array Size : 3906886464 KiB (3.64 TiB 4.00 TB)
Used Dev Size : 7813772928 sectors (3.64 TiB 4.00 TB)
Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=48 sectors
State : clean
Device UUID : 577ef05f:fa66ff02:8e4085c0:03d798ec
Internal Bitmap : 8 sectors from superblock
Update Time : Fri Jan 6 23:29:14 2023
Bad Block Log : 512 entries available at offset 24 sectors
Checksum : 460982b8 - correct
Events : 6144
Device Role : Active device 1
Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
Однако диск, смонтированный вручную выше, будет автоматически освобожден при перезапуске устройства. Нам нужно снова вручную смонтировать устройство.
Для решения этой проблемы нам необходимо настроить fstab
контент в , в то время как fstab Нам нужно сначала получить «UUID» массива и обновить его. mdadm
Конфигурация:
# sudo mdadm --detail --scan --verbose | sudo tee -a /etc/mdadm/mdadm.conf
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 name=0 UUID=bd87e586:257740d3:5fd50282:ccc8b145
devices=/dev/sda,/dev/sdb
получать UUID Вам необходимо использовать следующую команду, и вы не можете использовать ее напрямую mdadm
Выход ID:
# sudo dumpe2fs /dev/md0 |grep UUID
dumpe2fs 1.46.5 (30-Dec-2021)
Filesystem UUID: f7014dd5-b7b1-466c-ae42-2b49c43cbb57
Затем добавьте следующее в /etc/fstab
середина:
UUID=f7014dd5-b7b1-466c-ae42-2b49c43cbb57 /dev/md0 /mnt/mirror ext4 defaults 0 0
После завершения обновите initramfs
,Затем перезагрузите устройство,Проверьте, способна ли система существовать при загрузке,Обычно раздел массива монтируется в /data
Пути достаточно.
# sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.15.0-57-generic
Установить файловый Есть много вариантов обслуживания,Например, предыдущие статьи«Частная облачная среда, установленная в ноутбуке: Сетевое хранилище (Часть 2)» [6]упомянул S3 Заменять MinIO или Syncthing、NextCloud。
Однако, чтобы позволить Mac 、Windows Устройство может напрямую использовать службу и выполнять резервное копирование. Мы можем рассмотреть возможность использования. samba или netatalk поставлять smb
или afp
Возможности протокола по доступу к файлам. Если вы хотите использовать локальный напрямую samba или netatalk программа, используйте напрямую apt install
Вот и все:
sudo apt-get install samba -y
Если вы считаете, что это недостаточно экологично, используйте docker
версия samba или netatalk Это неплохая идея。например,Stanback/alpine-samba[7]。
конечно,Управление пользователями (добавление, деактивация, удаление, изменение паролей) может быть обременительным.,Но это, по сути, разовые затраты.,Или, может быть, все в порядке. (Также возможно,Правильнее было бы вынести в отдельную статью)
После того, как мы завершим запуск службы, мы сможем найти этот «сервер хранения» в сети.
Обнаружение сетевых служб
и подключитесь к серверу по протоколу Samba.
Доступ к данным с помощью Samba
Далее, если вы хотите, вы можете напрямую использовать «машину времени», поставляемую в комплекте с системой, для резервного копирования данных вашего устройства.
Потому что я был занят в последнее время,Эта статья «Длинный фронт» длится уже около двух недель.,В процессе могут быть некоторые упущения,Если у вас есть вопросы или советы,Обратная связь приветствуется.
В следующей статье поговорим о том, как решить неудобную проблему «управления ресурсами».
--EOF
Справочная ссылка
[1]
программное обеспечение с открытым исходным кодом netatalk: https://netatalk.sourceforge.io/
[2]
Технические характеристики оборудования: https://h20195.www2.hp.com/v2/getpdf.aspx/4aa7-7943enuc.pdf
[3]
i3-10105t CPU Спецификация: https://www.intel.com/content/www/us/en/products/sku/201890/intel-core-i310105t-processor-6m-cache-up-to-3-90-ghz/specifications.html
[4]
технология Спецификация: https://support.apple.com/kb/SP679?viewlocale=zh_CN&locale=zh_HK
[5]
《существовать Создайте экономичный ноутбук Linux Среда обучения: Основы》: https://soulteary.com/2022/06/21/building-a-cost-effective-linux-learning-environment-on-a-laptop-the-basics.html
[6]
«Частная облачная среда, установленная в ноутбуке, существует: Сетевое хранилище (Часть 2)»: https://soulteary.com/2021/11/09/private-cloud-environment-installed-in-a-notebook-storage-part-2.html
[7]
Stanback/alpine-samba: https://github.com/Stanback/alpine-samba