Перейти до змісту

Додавання публічного дзеркала до менеджера дзеркал Rocky

Мінімальні вимоги до публічних дзеркал

Ми завжди раді новим публічним дзеркалам. Але вони повинні добре підтримуватися та розміщуватися в цілодобовому середовищі, схожому на центр обробки даних. Доступна пропускна здатність має бути не менше 1 Гбіт/с. Ми віддаємо перевагу дзеркалам із подвійним стеком (IPv4 та IPv6). Не надсилайте дзеркала, налаштовані за допомогою динамічного DNS. Ми також приймаємо нижчу швидкість, якщо ви перебуваєте в регіоні, де лише кілька дзеркал.

Будь ласка, не надсилайте дзеркала, розміщені в Anycast-CDN, як-от Cloudflare тощо, оскільки це може призвести до неоптимальної продуктивності через вибір найшвидшого дзеркала в dnf.

Будь ласка, зверніть увагу, що ми не приймаємо публічні дзеркала в країнах, на які поширюються експортні правила США. Ви можете знайти список цих країн тут: https://www.bis.doc.gov/index.php/policy-guidance/country-guidance/sanctioned-destinations

На момент написання цієї статті (кінець 2022 року) вимоги до пам’яті для віддзеркалення всіх поточних і минулих випусків Rocky Linux становлять близько 2 ТБ.

Наше головне дзеркало — rsync://msync.rockylinux.org/rocky/mirror/pub/rocky/. Для першої синхронізації використовуйте дзеркало поблизу. Ви можете знайти всі офіційні дзеркала тут.

Будь ласка, зверніть увагу, що ми можемо обмежити доступ до офіційного головного дзеркала офіційними публічними дзеркалами. Тому, якщо ви використовуєте приватне дзеркало, подумайте про rsyncing із публічного дзеркала, розташованого поблизу. Крім того, локальні дзеркала можуть швидше синхронізуватися.

Налаштування дзеркала

Налаштуйте завдання cron, щоб періодично синхронізувати ваше дзеркало та дозволяти йому запускатися 6 разів на день. Але не забудьте синхронізувати годину, щоб допомогти розподілити навантаження в часі. Якщо ви перевіряєте лише зміни fullfiletimelist-rocky і виконуєте повну синхронізацію, лише якщо цей файл змінився, ви можете синхронізувати щогодини.

Ось кілька прикладів crontab для вас:

#Це синхронізує ваше дзеркало о 0:50, 4:50, 8:50, 12:50, 16:50, 20:50
50 */6 * * * /path/to/your/rocky-rsync-mirror.sh > /dev/null 2>&1

#Це синхронізує ваше дзеркало о 2:25, 6:25, 10:25, 14:25, 18:25, 22:25
25 2,6,10,14,18,22 * * * /path/to/your/rocky-rsync-mirror.sh > /dev/null 2>&1

#Це буде синхронізувати ваше дзеркало щогодини о 15 хвилині.
#Використовуйте, лише якщо ви використовуєте наш приклад сценарію
15 * * * * /path/to/your/rocky-rsync-mirror.sh > /dev/null 2>&1

Для простої синхронізації ви можете використати таку команду rsync:

rsync -aqH --delete source-mirror destination-dir

Розгляньте можливість використання механізму блокування, щоб уникнути одночасного запуску кількох завдань rsync, коли ми випускаємо новий випуск.

За потреби ви також можете змінити наш приклад сценарію, реалізуючи блокування та повну синхронізацію. Його можна знайти на https://github.com/rocky-linux/rocky-tools/blob/main/mirror/mirrorsync.sh.

Після першої повної синхронізації перевірте, чи все в порядку з дзеркалом. Найголовніше, перевірте, чи всі файли та каталоги синхронізовані, чи ваше завдання cron працює належним чином, а ваше дзеркало доступне з загальнодоступного Інтернету. Ще раз перевірте правила брандмауера! Щоб уникнути будь-яких проблем, не використовуйте примусове переспрямування http на https.

Якщо у вас виникли запитання щодо налаштування дзеркала, приєднуйтеся до https://chat.rockylinux.org/rocky-linux/channels/infrastructure

Коли ви закінчите, перейдіть до наступного розділу та запропонуйте своє дзеркало зробити загальнодоступним!

Що Вам Необхідно

Створення сайту

Rocky використовує Mirror Manager Fedora для організації дзеркал спільноти.

Отримайте доступ до Rocky's Mirror Manager тут: https://accounts.rockylinux.org/

Після успішного входу ваш профіль буде вгорі праворуч. Виберіть спадне меню та натисніть "My sites".

Завантажиться нова сторінка зі списком усіх сайтів облікового запису. Перший час воно буде порожнім. Натисніть «Зареєструвати новий сайт» ("Register a new site").

Завантажиться нова сторінка з важливою заявою про відповідність експорту, яку потрібно прочитати. Потім заповніть таку інформацію:

  • "Site Name"
  • "Site Password" - використовується сценарієм report_mirrors, ви робите все, що забажаєте
  • "Organization URL" - URL-адреса компанії/школи/організації, напр. https://rockylinux.org/
  • "Private" - Установивши цей прапорець, ваше дзеркало буде приховано від публічного використання.
  • "User active" - Зніміть цей прапорець, щоб тимчасово вимкнути цей сайт; його буде видалено з публічних списків.
  • "All sites can pull from me?" - Увімкнути всі сайти-дзеркала для отримання від мене без явного додавання їх до мого списку.
  • "Comments for downstream siteadmins. Please include your synchronization source here to avoid dependency loops."

Після натискання "Submit" ви повернетесь на головну сторінку дзеркала.

Налаштування сайту

Виберіть спадне меню на головній сторінці дзеркала, а потім натисніть «Мої сайти».

Сторінка сайту облікового запису завантажиться, і сайт має з’явитися в списку. Натисніть на нього, щоб перейти на інформаційний сайт.

Усі параметри з останнього розділу перераховані знову. Унизу сторінки є три нові параметри: «Адміністратори», «Хости» та «Видалити сайт». Натисніть на "Hosts [add]".

Створення нового хоста

Заповніть такі параметри, які підходять для сайту:

  • "Host name" - обов’язкове поле: FQDN сервера, як його бачить загальнодоступний кінцевий користувач
  • "User active" - Зніміть цей прапорець, щоб тимчасово вимкнути цей хост; його буде видалено з публічних списків.
  • "Country" - обов'язкове поле: 2-літерний код країни ISO
  • "Bandwidth" - обов'язкове поле: ціле число мегабіт/с, скільки пропускної здатності може обслуговувати цей хост
  • "Private" - напр. недоступне для громадськості, внутрішнє приватне дзеркало
  • "Internet2" - в Інтернеті 2
  • "Internet2 clients" - обслуговує клієнтів Internet2, навіть приватних
  • "ASN" - Номер автономної системи, який використовується в таблицях маршрутизації BGP. Тільки якщо ви провайдер.
  • «ASN Clients» — обслуговують усіх клієнтів з одного ASN. Використовується для інтернет-провайдерів, компаній або шкіл, а не для особистих мереж.
  • "Robot email" - адреса електронної пошти, отримуватиме сповіщення про оновлення вмісту
  • "Comment" - текст, усе інше, що ви хотіли б, щоб публічний кінцевий користувач знав про ваше дзеркало
  • "Max connections" - Максимальна кількість паралельних з’єднань для завантаження на клієнта пропонується через метапосилання.

Натисніть «Створити» ("Create") , і він переспрямує назад на інформаційний сайт хосту.

Оновити хост

У нижній частині інформаційного сайту параметр «Хости» тепер має відображати назву хоста поруч із ним. Натисніть на назву, щоб завантажити сторінку хоста. Усі параметри з попереднього кроку перераховані знову. Внизу є нові параметри.

  • "Site-local Netblocks": Мережеві блоки використовуються для спрямування кінцевого користувача до дзеркала для конкретного сайту. Наприклад, університет може перерахувати свої мережеві блоки, а CGI з дзеркального списку поверне локальне дзеркало університету, а не локальне дзеркало країни. Формат: 18.0.0.0/255.0.0.0, 18.0.0.0/8, префікс/довжина IPv6 або ім’я хосту DNS. Значення мають бути публічними IP-адресами (без адрес приватного простору RFC1918). Використовуйте, лише якщо ви провайдер і/або володієте загальнодоступним мережевим блоком!

  • "Peer ASNs": Однорангові ASN направляють кінцевого користувача в найближчих мережах до нашого дзеркала. Наприклад, університет може перерахувати ASN своїх партнерів, а список дзеркальних відбитків CGI повертатиме локальне дзеркало університету, а не локальне дзеркало країни. Ви повинні входити до групи адміністраторів MirrorManager, щоб створювати тут нові записи.

  • "Countries Allowed": Деякі дзеркала повинні обмежуватися обслуговуванням лише кінцевих користувачів зі своєї країни. Якщо ви один із них, укажіть 2-літерний код ISO для країн, з яких ви дозволите кінцевим користувачам. CGI дзеркального списку врахує це.

  • "Categories Carried": Хости містять категорії програмного забезпечення. Приклади категорій Fedora включають Fedora та архів Fedora.

Натисніть на посилання "[add]" у розділі «Categories Carried».

Categories Carried

Для категорії виберіть «Rocky Linux», а потім «Створити», щоб завантажити URL-сторінку. Потім натисніть "[add]", щоб завантажити сторінку "Add host category URL". Є одна опція. За потреби повторіть для кожного протоколу, який підтримує дзеркала.

  • "URL" - URL (rsync, https, http), що вказує на верхній каталог

Приклади:

  • http://rocky.example.com
  • https://rocky.example.com
  • rsync://rocky.example.com

Висновки

Після заповнення інформації сайт має з’явитися в списку дзеркал під час наступного оновлення.

Contributors: Amin Vakil, Steven Spencer, Ganna Zhyrnova