{"action":"created","comment":{"url":"https://api.github.com/repos/socketpair/ceph-docs/pulls/comments/236092508","pull_request_review_id":178099799,"id":236092508,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNjA5MjUwOA==","diff_hunk":"@@ -0,0 +1,153 @@\n+************\n+Ceph + iscsi\n+************\n+\n+Ceph-iscsi\n+==========\n+\n+Первый и основной способ это использование ceph-iscsi. Продукт этот на данный момент зрелый, поддерживается компанией\n+redhat и, с недавних пор, suse.\n+\n+Пакеты можно взять на `официальном репозитории <https://download.ceph.com/ceph-iscsi/>`_.\n+Установка тривиальна и хорошо описана в `официальной документации ceph <http://docs.ceph.com/docs/mimic/rbd/iscsi-overview/>`_,\n+так и в документации `Red Hat Ceph Storage 3+ <https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/3/html/block_device_guide/using_an_iscsi_gateway>`_.\n+В документации так же описано как настраивать инициаторы, и этих правил следует придерживаться,\n+т.к. у текущей реализации `есть свои ограничения <https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/3.0/pdf/release_notes/Red_Hat_Ceph_Storage-3.0-Release_Notes-en-US.pdf>`_.\n+\n+Из приятных бонусов этого решения:\n+\n+* Централизованое управление через утилиту gwcli\n+* Простой деплой самого приложения\n+* Интегрированность в ceph (в частности в выводе `ceph -s` можно увидеть `tcmu-runner: 3 daemons active` )\n+* Поддержка `SCSI-3 PR <http://www.gonzoleeman.net/scsi-3-pgr-tutorial-v1.0>`_, которая может понадобится,\n+  например, для серверов на базе ОС Windows для кворумных дисков или общих ресурсов для БД или кластеризиции.\n+* Отказоустойчивость из коробки, т.к. вы анонсируете портальную группу, и ваш клиент может переключиться\n+  по failover на другой портал.\n+\n+Минусы этого решения:\n+\n+* Не будет бонусов в виде отказоустойчивости, если инициатор не умеет с этим работать\n+* В основе продукта лежит tcmu-runner, который **значительно** медленнее работает чем вариант\n+  \"замаппить rbd и отдать его как диск\", т.к. последний вариант близок по скорости к варианту отдать rbd нативно через librbd,\n+  в то время, как вариант с tcmu-runner'ом медленнее в ~2 раза\n+\n+Особенности этого решения:\n+\n+Приведу здесь несколько графиков, снятых с помощью fio на кластере среднего пошиба из ВМ.","path":"cephiscsi.rst","position":36,"original_position":36,"commit_id":"1d93f229e03ae4e5a4fd069eb2d0d00911257a13","original_commit_id":"1d93f229e03ae4e5a4fd069eb2d0d00911257a13","user":{"login":"rumanzo","id":15186512,"node_id":"MDQ6VXNlcjE1MTg2NTEy","avatar_url":"https://avatars2.githubusercontent.com/u/15186512?v=4","gravatar_id":"","url":"https://api.github.com/users/rumanzo","html_url":"https://github.com/rumanzo","followers_url":"https://api.github.com/users/rumanzo/followers","following_url":"https://api.github.com/users/rumanzo/following{/other_user}","gists_url":"https://api.github.com/users/rumanzo/gists{/gist_id}","starred_url":"https://api.github.com/users/rumanzo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rumanzo/subscriptions","organizations_url":"https://api.github.com/users/rumanzo/orgs","repos_url":"https://api.github.com/users/rumanzo/repos","events_url":"https://api.github.com/users/rumanzo/events{/privacy}","received_events_url":"https://api.github.com/users/rumanzo/received_events","type":"User","site_admin":false},"body":"Да, fio в виртуалке, мы тестировали производительность разных решений в связке ovirt + ceph, с тех времен графики и остались. Целью исследования было узнать, насколько мы проиграем, при выборе того или иного решения, т.к. с овиртом не получается всё сделать просто.\r\nЕсли мне память не изменяет, виртуалки (клоны одной виртуалки с centos 7) сами находились на разных стораджах. Одна лежала на nfs'ной шаре (nfs-ganesha поверх cephfs), одна на iscsi через tcmu-runner (ceph-iscsi), одна на iscsi с луном из примапленного rbd, и часть нативно лежали в цефе (qemu + rbd).","created_at":"2018-11-25T22:13:29Z","updated_at":"2018-11-25T22:13:29Z","html_url":"https://github.com/socketpair/ceph-docs/pull/8#discussion_r236092508","pull_request_url":"https://api.github.com/repos/socketpair/ceph-docs/pulls/8","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/socketpair/ceph-docs/pulls/comments/236092508"},"html":{"href":"https://github.com/socketpair/ceph-docs/pull/8#discussion_r236092508"},"pull_request":{"href":"https://api.github.com/repos/socketpair/ceph-docs/pulls/8"}},"in_reply_to_id":236080744},"pull_request":{"url":"https://api.github.com/repos/socketpair/ceph-docs/pulls/8","id":233192915,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMzMTkyOTE1","html_url":"https://github.com/socketpair/ceph-docs/pull/8","diff_url":"https://github.com/socketpair/ceph-docs/pull/8.diff","patch_url":"https://github.com/socketpair/ceph-docs/pull/8.patch","issue_url":"https://api.github.com/repos/socketpair/ceph-docs/issues/8","number":8,"state":"open","locked":false,"title":"Ceph + iscsi","user":{"login":"rumanzo","id":15186512,"node_id":"MDQ6VXNlcjE1MTg2NTEy","avatar_url":"https://avatars2.githubusercontent.com/u/15186512?v=4","gravatar_id":"","url":"https://api.github.com/users/rumanzo","html_url":"https://github.com/rumanzo","followers_url":"https://api.github.com/users/rumanzo/followers","following_url":"https://api.github.com/users/rumanzo/following{/other_user}","gists_url":"https://api.github.com/users/rumanzo/gists{/gist_id}","starred_url":"https://api.github.com/users/rumanzo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rumanzo/subscriptions","organizations_url":"https://api.github.com/users/rumanzo/orgs","repos_url":"https://api.github.com/users/rumanzo/repos","events_url":"https://api.github.com/users/rumanzo/events{/privacy}","received_events_url":"https://api.github.com/users/rumanzo/received_events","type":"User","site_admin":false},"body":"Добавил главу по ceph-iscsi. Основное внимание на подводные камни и на что обращать внимание при проектировании.\r\nИ пара графиков для наглядности.","created_at":"2018-11-23T12:53:53Z","updated_at":"2018-11-25T22:13:29Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5c7307c4982c691daea496173e4784cdf305db5f","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/socketpair/ceph-docs/pulls/8/commits","review_comments_url":"https://api.github.com/repos/socketpair/ceph-docs/pulls/8/comments","review_comment_url":"https://api.github.com/repos/socketpair/ceph-docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/socketpair/ceph-docs/issues/8/comments","statuses_url":"https://api.github.com/repos/socketpair/ceph-docs/statuses/1d93f229e03ae4e5a4fd069eb2d0d00911257a13","head":{"label":"rumanzo:master","ref":"master","sha":"1d93f229e03ae4e5a4fd069eb2d0d00911257a13","user":{"login":"rumanzo","id":15186512,"node_id":"MDQ6VXNlcjE1MTg2NTEy","avatar_url":"https://avatars2.githubusercontent.com/u/15186512?v=4","gravatar_id":"","url":"https://api.github.com/users/rumanzo","html_url":"https://github.com/rumanzo","followers_url":"https://api.github.com/users/rumanzo/followers","following_url":"https://api.github.com/users/rumanzo/following{/other_user}","gists_url":"https://api.github.com/users/rumanzo/gists{/gist_id}","starred_url":"https://api.github.com/users/rumanzo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rumanzo/subscriptions","organizations_url":"https://api.github.com/users/rumanzo/orgs","repos_url":"https://api.github.com/users/rumanzo/repos","events_url":"https://api.github.com/users/rumanzo/events{/privacy}","received_events_url":"https://api.github.com/users/rumanzo/received_events","type":"User","site_admin":false},"repo":{"id":158817374,"node_id":"MDEwOlJlcG9zaXRvcnkxNTg4MTczNzQ=","name":"ceph-docs","full_name":"rumanzo/ceph-docs","private":false,"owner":{"login":"rumanzo","id":15186512,"node_id":"MDQ6VXNlcjE1MTg2NTEy","avatar_url":"https://avatars2.githubusercontent.com/u/15186512?v=4","gravatar_id":"","url":"https://api.github.com/users/rumanzo","html_url":"https://github.com/rumanzo","followers_url":"https://api.github.com/users/rumanzo/followers","following_url":"https://api.github.com/users/rumanzo/following{/other_user}","gists_url":"https://api.github.com/users/rumanzo/gists{/gist_id}","starred_url":"https://api.github.com/users/rumanzo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rumanzo/subscriptions","organizations_url":"https://api.github.com/users/rumanzo/orgs","repos_url":"https://api.github.com/users/rumanzo/repos","events_url":"https://api.github.com/users/rumanzo/events{/privacy}","received_events_url":"https://api.github.com/users/rumanzo/received_events","type":"User","site_admin":false},"html_url":"https://github.com/rumanzo/ceph-docs","description":"Sources for CEPH faq documentation","fork":true,"url":"https://api.github.com/repos/rumanzo/ceph-docs","forks_url":"https://api.github.com/repos/rumanzo/ceph-docs/forks","keys_url":"https://api.github.com/repos/rumanzo/ceph-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rumanzo/ceph-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rumanzo/ceph-docs/teams","hooks_url":"https://api.github.com/repos/rumanzo/ceph-docs/hooks","issue_events_url":"https://api.github.com/repos/rumanzo/ceph-docs/issues/events{/number}","events_url":"https://api.github.com/repos/rumanzo/ceph-docs/events","assignees_url":"https://api.github.com/repos/rumanzo/ceph-docs/assignees{/user}","branches_url":"https://api.github.com/repos/rumanzo/ceph-docs/branches{/branch}","tags_url":"https://api.github.com/repos/rumanzo/ceph-docs/tags","blobs_url":"https://api.github.com/repos/rumanzo/ceph-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rumanzo/ceph-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rumanzo/ceph-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/rumanzo/ceph-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rumanzo/ceph-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/rumanzo/ceph-docs/languages","stargazers_url":"https://api.github.com/repos/rumanzo/ceph-docs/stargazers","contributors_url":"https://api.github.com/repos/rumanzo/ceph-docs/contributors","subscribers_url":"https://api.github.com/repos/rumanzo/ceph-docs/subscribers","subscription_url":"https://api.github.com/repos/rumanzo/ceph-docs/subscription","commits_url":"https://api.github.com/repos/rumanzo/ceph-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/rumanzo/ceph-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/rumanzo/ceph-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/rumanzo/ceph-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/rumanzo/ceph-docs/contents/{+path}","compare_url":"https://api.github.com/repos/rumanzo/ceph-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rumanzo/ceph-docs/merges","archive_url":"https://api.github.com/repos/rumanzo/ceph-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rumanzo/ceph-docs/downloads","issues_url":"https://api.github.com/repos/rumanzo/ceph-docs/issues{/number}","pulls_url":"https://api.github.com/repos/rumanzo/ceph-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/rumanzo/ceph-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/rumanzo/ceph-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rumanzo/ceph-docs/labels{/name}","releases_url":"https://api.github.com/repos/rumanzo/ceph-docs/releases{/id}","deployments_url":"https://api.github.com/repos/rumanzo/ceph-docs/deployments","created_at":"2018-11-23T10:29:07Z","updated_at":"2018-11-23T12:52:23Z","pushed_at":"2018-11-23T12:52:21Z","git_url":"git://github.com/rumanzo/ceph-docs.git","ssh_url":"git@github.com:rumanzo/ceph-docs.git","clone_url":"https://github.com/rumanzo/ceph-docs.git","svn_url":"https://github.com/rumanzo/ceph-docs","homepage":"http://ceph-docs.readthedocs.io","size":180,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"socketpair:master","ref":"master","sha":"66894491d843e5e4f7a41ff63902f7a1aa2e0638","user":{"login":"socketpair","id":1157412,"node_id":"MDQ6VXNlcjExNTc0MTI=","avatar_url":"https://avatars1.githubusercontent.com/u/1157412?v=4","gravatar_id":"","url":"https://api.github.com/users/socketpair","html_url":"https://github.com/socketpair","followers_url":"https://api.github.com/users/socketpair/followers","following_url":"https://api.github.com/users/socketpair/following{/other_user}","gists_url":"https://api.github.com/users/socketpair/gists{/gist_id}","starred_url":"https://api.github.com/users/socketpair/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/socketpair/subscriptions","organizations_url":"https://api.github.com/users/socketpair/orgs","repos_url":"https://api.github.com/users/socketpair/repos","events_url":"https://api.github.com/users/socketpair/events{/privacy}","received_events_url":"https://api.github.com/users/socketpair/received_events","type":"User","site_admin":false},"repo":{"id":116710015,"node_id":"MDEwOlJlcG9zaXRvcnkxMTY3MTAwMTU=","name":"ceph-docs","full_name":"socketpair/ceph-docs","private":false,"owner":{"login":"socketpair","id":1157412,"node_id":"MDQ6VXNlcjExNTc0MTI=","avatar_url":"https://avatars1.githubusercontent.com/u/1157412?v=4","gravatar_id":"","url":"https://api.github.com/users/socketpair","html_url":"https://github.com/socketpair","followers_url":"https://api.github.com/users/socketpair/followers","following_url":"https://api.github.com/users/socketpair/following{/other_user}","gists_url":"https://api.github.com/users/socketpair/gists{/gist_id}","starred_url":"https://api.github.com/users/socketpair/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/socketpair/subscriptions","organizations_url":"https://api.github.com/users/socketpair/orgs","repos_url":"https://api.github.com/users/socketpair/repos","events_url":"https://api.github.com/users/socketpair/events{/privacy}","received_events_url":"https://api.github.com/users/socketpair/received_events","type":"User","site_admin":false},"html_url":"https://github.com/socketpair/ceph-docs","description":"Sources for CEPH faq documentation","fork":false,"url":"https://api.github.com/repos/socketpair/ceph-docs","forks_url":"https://api.github.com/repos/socketpair/ceph-docs/forks","keys_url":"https://api.github.com/repos/socketpair/ceph-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/socketpair/ceph-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/socketpair/ceph-docs/teams","hooks_url":"https://api.github.com/repos/socketpair/ceph-docs/hooks","issue_events_url":"https://api.github.com/repos/socketpair/ceph-docs/issues/events{/number}","events_url":"https://api.github.com/repos/socketpair/ceph-docs/events","assignees_url":"https://api.github.com/repos/socketpair/ceph-docs/assignees{/user}","branches_url":"https://api.github.com/repos/socketpair/ceph-docs/branches{/branch}","tags_url":"https://api.github.com/repos/socketpair/ceph-docs/tags","blobs_url":"https://api.github.com/repos/socketpair/ceph-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/socketpair/ceph-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/socketpair/ceph-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/socketpair/ceph-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/socketpair/ceph-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/socketpair/ceph-docs/languages","stargazers_url":"https://api.github.com/repos/socketpair/ceph-docs/stargazers","contributors_url":"https://api.github.com/repos/socketpair/ceph-docs/contributors","subscribers_url":"https://api.github.com/repos/socketpair/ceph-docs/subscribers","subscription_url":"https://api.github.com/repos/socketpair/ceph-docs/subscription","commits_url":"https://api.github.com/repos/socketpair/ceph-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/socketpair/ceph-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/socketpair/ceph-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/socketpair/ceph-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/socketpair/ceph-docs/contents/{+path}","compare_url":"https://api.github.com/repos/socketpair/ceph-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/socketpair/ceph-docs/merges","archive_url":"https://api.github.com/repos/socketpair/ceph-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/socketpair/ceph-docs/downloads","issues_url":"https://api.github.com/repos/socketpair/ceph-docs/issues{/number}","pulls_url":"https://api.github.com/repos/socketpair/ceph-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/socketpair/ceph-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/socketpair/ceph-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/socketpair/ceph-docs/labels{/name}","releases_url":"https://api.github.com/repos/socketpair/ceph-docs/releases{/id}","deployments_url":"https://api.github.com/repos/socketpair/ceph-docs/deployments","created_at":"2018-01-08T17:59:49Z","updated_at":"2018-11-22T17:14:48Z","pushed_at":"2018-11-23T12:53:54Z","git_url":"git://github.com/socketpair/ceph-docs.git","ssh_url":"git@github.com:socketpair/ceph-docs.git","clone_url":"https://github.com/socketpair/ceph-docs.git","svn_url":"https://github.com/socketpair/ceph-docs","homepage":"http://ceph-docs.readthedocs.io","size":117,"stargazers_count":7,"watchers_count":7,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"archived":false,"open_issues_count":2,"license":null,"forks":7,"open_issues":2,"watchers":7,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/socketpair/ceph-docs/pulls/8"},"html":{"href":"https://github.com/socketpair/ceph-docs/pull/8"},"issue":{"href":"https://api.github.com/repos/socketpair/ceph-docs/issues/8"},"comments":{"href":"https://api.github.com/repos/socketpair/ceph-docs/issues/8/comments"},"review_comments":{"href":"https://api.github.com/repos/socketpair/ceph-docs/pulls/8/comments"},"review_comment":{"href":"https://api.github.com/repos/socketpair/ceph-docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/socketpair/ceph-docs/pulls/8/commits"},"statuses":{"href":"https://api.github.com/repos/socketpair/ceph-docs/statuses/1d93f229e03ae4e5a4fd069eb2d0d00911257a13"}},"author_association":"NONE"}}
{"actor":{"display_login":"rumanzo"}}