Привет, комьюнити. Подскажите, есть ли способ активировать и использовать Ceph Object Storage в Proxmox Ceph Cluster? Спасибо.
Alwin
Guest
0
22.02.2018 17:04:00
Или ты настраиваешь дополнительный сервис на узле pve+ceph. Но, как я уже говорил выше, такую конфигурацию мы не поддерживаем. А если я правильно помню, RGW должен находиться на отдельном сервере, а не с MONs или OSDs.
Dan Nicolae
Guest
0
23.02.2018 09:24:00
Спасибо за ответы. Неофициально, есть какие-нибудь идеи, как установить Ceph RadosGW на существующем узле Proxmox Ceph? P.S.: Я знаю, что вы не поддерживаете такую конфигурацию.
Alwin
Guest
0
23.02.2018 11:49:00
Мы написали обёртку вокруг инструментов Ceph. Установка RGW способом, принятым в Ceph, должна работать как и раньше.
Dan Nicolae
Guest
0
26.02.2018 12:16:00
Я нашёл хорошее руководство под названием «Добавление возможностей S3 в Proxmox», которому следовал шаг за шагом, и всё работает отлично. Proxmox Virtualization Environment (VE) — это замечательная платформа виртуализации. Она обладает рядом отличных функций, которых нет во многих других корпоративных платформах. Одна из этих функций — поддержка Ceph, включая возможность запуска Ceph на самих узлах Proxmox. Помимо использования Ceph для своих VM и контейнеров, я хотел воспользоваться Ceph Object Gateway для получения совместимого с S3 хранилища для своих веб-сайтов. Общее предупреждение: я относительно нов в Ceph и Ceph Object Gateway, поэтому эти инструкции могут быть не оптимальными, но для меня они сработали, так что я решил поделиться. Я в основном следовал инструкциям с основного сайта Ceph, но они были несколько сбивающими с толку, потому что в некоторых местах они ссылались на установку Apache и FCGI, а в других — на то, что Ceph использует "Civetweb". Также упоминается использование ceph-deploy, но я знал, что Proxmox использует свои собственные инструменты pveceph. Поэтому, не желая слишком сильно влиять на мои основные узлы Proxmox, я решил в качестве первого шага установить VM с двумя NIC, подключив одну к той же VLAN, что и моя сеть хранения, а другую — к VLAN PVE. Всё прошло достаточно хорошо, и потребовалась только установка одного дополнительного пакета, поэтому я решил установить непосредственно на узлы Proxmox. Моя среда Proxmox состоит из 3 узлов: pve1, pve2 и pve3, и я хотел запустить Gateway на всех трёх узлах для обеспечения высокой доступности (я использую HAProxy перед этими узлами для завершения SSL, HA и балансировки нагрузки). Я выполнил следующие команды с узла pve1, но их можно было выполнить с любого из узлов. Сначала я создал keyring для хранения ключей: root@pve1:~# ceph-authtool --create-keyring /etc/ceph/ceph.client.radosgw.keyring Затем я сгенерировал ключи и добавил их в keyring: root@pve1:~# ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.radosgw.pve1 --gen-key root@pve1:~# ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.radosgw.pve2 --gen-key root@pve1:~# ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.radosgw.pve3 --gen-key И затем я добавил соответствующие права: root@pve1:~# ceph-authtool -n client.radosgw.pve1 --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring root@pve1:~# ceph-authtool -n client.radosgw.pve2 --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring root@pve1:~# ceph-authtool -n client.radosgw.pve3 --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring Наконец, я добавил ключи в кластер: root@pve1:~# ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.radosgw.pve1 -i /etc/ceph/ceph.client.radosgw.keyring root@pve1:~# ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.radosgw.pve2 -i /etc/ceph/ceph.client.radosgw.keyring root@pve1:~# ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.radosgw.pve3 -i /etc/ceph/ceph.client.radosgw.keyring Я также скопировал keyring в ClusterFS Proxmox, чтобы он был доступен на всех узлах. Примечание: возможно, я мог сгенерировать ключ непосредственно в папке /etc/pve/priv, и пропустить этот шаг. root@pve1:~# cp /etc/ceph/ceph.client.radosgw.keyring /etc/pve/priv Добавьте следующие строки в /etc/ceph/ceph.conf: [client.radosgw.pve1] host = pve1 keyring = /etc/pve/priv/ceph.client.radosgw.keyring log file = /var/log/ceph/client.radosgw.$host.log rgw_dns_name = s3.example.net [client.radosgw.pve2] host = pve2 keyring = /etc/pve/priv/ceph.client.radosgw.keyring log file = /var/log/ceph/client.radosgw.$host.log rgw_dns_name = s3.example.net [client.radosgw.pve3] host = pve3 keyring = /etc/pve/priv/ceph.client.radosgw.keyring log file = /var/log/ceph/client.rados.$host.log rgw_dns_name = s3.example.net Здесь опять же, я думаю, есть место для оптимизации. Я полагаю, что несколько разделов [client] можно объединить, поэтому всё ниже строки host потенциально можно слить в один раздел, чтобы избежать повторений. В этот момент пришло время войти в каждый узел и установить соответствующие пакеты: root@pve1:~# apt install radosgw И затем запустить его: root@pve1:~# service radosgw start Если все пойдет хорошо, RADOSGW создаст несколько пакетов по умолчанию (см. ниже), и вы сможете посетить любой из ваших узлов на порту 7480 (например, ) и вы увидите что-то вроде этого: <ListAllMyBucketsResult xmlns=" "> <Owner> <ID>anonymous</ID> <DisplayName/> </Owner> <Buckets/> </ListAllMyBucketsResult> Если нет, вы можете просмотреть свои журналы для устранения неполадок: root@pve1:~# tail -f /var/log/ceph/client.rados.pve1.log Я получал предупреждения в кластере Ceph о том, что приложение не было включено на пулах, поэтому я запустил следующее: root@pve1:~# ceph osd pool application enable .rgw.root rgw root@pve1:~# ceph osd pool application enable default.rgw.control rgw root@pve1:~# ceph osd pool application enable default.rgw.data.root rgw root@pve1:~# ceph osd pool application enable default.rgw.gc rgw root@pve1:~# ceph osd pool application enable default.rgw.log rgw root@pve1:~# ceph osd pool application enable default.rgw.users.uid rgw root@pve1:~# ceph osd pool application enable default.rgw.users.email rgw root@pve1:~# ceph osd pool application enable default.rgw.users.keys rgw root@pve1:~# ceph osd pool application enable default.rgw.buckets.index rgw root@pve1:~# ceph osd pool application enable default.rgw.buckets.data rgw root@pve1:~# ceph osd pool application enable default.rgw.lc rgw Примечание: некоторые из этих пулов появлялись только когда они были необходимы, например, при создании пользователя, поэтому мне, возможно, придется вернуться и перезапустить эту команду с любыми вновь созданными пулами Итак, теперь вы можете настроить своего первого пользователя: root@pve1:~# radosgw-admin user create --uid=testuser --display-name="Test User" --email=test.user@example.net Это всё для конфигурации на серверах. Если вы планируете выставлять их через HAProxy, как это сделал я, не забудьте добавить запись с подстановочным знаком для вашего домена в DNS: *.s3.example.net, чтобы ваши пакеты разрешались. Я также в конечном итоге приобрел сертификат SSL с подстановочным знаком, который загрузил на HAProxy для SSL.
Alwin
Guest
0
22.02.2018 09:55:00
Пожалуйста, проверь документацию. И пройдись по посту в этой теме.
Dan Nicolae
Guest
0
22.02.2018 16:41:00
Это блочное хранилище. Ceph Luminous может функционировать как объектное хранилище через веб API (RADOS Gateway), подобно Amazon S3, Swift... Официальные руководства по настройке блочного хранилища можно найти здесь и здесь. Есть ли способ активировать его в кластере Proxmox Ceph и превратить узел Proxmox Ceph в шлюз? К сожалению, `pveceph install radosgw` не работает. Спасибо!
Alwin
Guest
0
22.02.2018 16:57:00
Ceph умеет много чего, но, тем не менее, хотя вы можете настроить Ceph как вам нравится (с помощью инструментов Ceph), RGW мы не поддерживаем.
Dan Nicolae
Guest
0
22.02.2018 17:01:00
Короче, одно из решений – создать Ceph кластер вне Proxmox и добавить его в Proxmox compute node как внешний RBD.
Robert.H
Guest
0
11.01.2019 19:58:00
Как тебе удалось это заставить работать? У меня проблемы с зависимостями из-за кастомных *-pve пакетов от Proxmox: [user@proxmox ~]# sudo apt-get install radosgw Читаю списки пакетов... Готово Строю дерево зависимостей Читаю информацию о состоянии... Готово Не удалось установить некоторые пакеты. Это может означать, что ты запросил невозможную ситуацию, или если ты используешь нестабильную версию, некоторые требуемые пакеты ещё не созданы или были перемещены из Incoming. Следующая информация может помочь разрешить ситуацию: Следующие пакеты имеют неразрешенные зависимости: radosgw: Зависит: ceph-common (= 12.2.10-1~bpo90+1), но должна быть установлена версия 12.2.10-pve1 Зависит: librgw2 (= 12.2.10-1~bpo90+1), но должна быть установлена версия 12.2.10-pve1 E: Невозможно исправить проблемы, у тебя зафиксированы сломанные пакеты. PS. Я добавил официальный репозиторий ceph debian, потому что radosgw не было в репозитории proxmox. >> Нашёл неплохую инструкцию под названием <Adding S3 capabilities to Proxmox>, которую я последовательно выполнил, и всё работает отлично. <<
Robert.H
Guest
0
11.01.2019 20:01:00
Похоже, мне кажется, что запуск radosgw в контейнере — это хорошая идея... И если уж на то пошло, почему всё, что предоставляет Proxmox, не работает в контейнерах? Хм...
Alwin
Guest
0
14.01.2019 12:34:00
Да, так и есть.
Robert.H
Guest
0
14.01.2019 12:50:00
Может, это не появилось при установке через apt, потому что для radosgw версия 12.2.8, а для остальной части Ceph – 12.2.10? Я уже настроил контейнеризированную версию, и она работает как альтернатива... На самом деле, возможно, так даже лучше, чтобы я мог контролировать влияние на хост.
Alwin
Guest
0
14.01.2019 14:07:00
Мы создаём все пакеты на основе исходников, с дополнительными патчами для переноса исправлений/функций.
davidtsn
Guest
0
26.10.2019 20:23:00
Всем привет. Спасибо за эту тему для обсуждения! Я выполнил инструкции по установке S3. Работает отлично. Однако, после перезагрузки перестает работать. Мне приходится удалять и переустанавливать radosgw. Есть какие-нибудь идеи, как сделать так, чтобы radosgw продолжал работать после перезагрузки? Заранее спасибо.
paradox55
Guest
0
27.10.2019 07:27:00
Основываясь на вышеуказанном руководстве, это включено через настройки пула, которые сбрасываются при каждой перезагрузке. Попробуйте снова применить эти настройки, чтобы снова включить.
davidtsn
Guest
0
27.10.2019 21:54:00
Спасибо за быстрый ответ, Paradox55. Следующий вопрос: как сделать это постоянным? Это то, что Proxmox не будет поддерживать? Моя цель — использовать Proxmox+Ceph как хранилище объектов. Спасибо.
paradox55
Guest
0
28.10.2019 00:08:00
Что Proxmox тут вообще к чему? Это Ceph. Настрой свой кластер правильно, и всё будет отлично.