{"action":"created","comment":{"url":"https://api.github.com/repos/sonatype/nexus-book/pulls/comments/64418923","id":64418923,"diff_hunk":"@@ -2,54 +2,145 @@\n ==  Migration\n {inall}\n \n-\n [[migration-introduction]]\n === Introduction\n \n-You can install {oss} on a new server or even the same server and run it in parallel. This gives you \n-access to the new repository formats and features without interrupting your tested and proven {oss} 2 deployment. \n+The migration tool provides a built-in supported method for migrating your {pro} 2 components to {pro} 3. The tool\n+gives you the ability to either install content from versions 2 to 3 on an external server (e.g. reverse proxy) \n+or the same server and run it in parallel. You will be able to initiate a migration into {pro} with a wizard \n+available in the user interface.\n \n-////\n-Expand intro; Topics and headers subject to change\n-////\n+This feature helps you build a migration plan which allows {pro} 3 to talk to {pro} 2 by way of a capability that \n+initiates the wizard. Migration moves repositories from version 2 to version 3, and wizard enables you to view \n+the status of the migration as it is happening. Fundamentally the decisions around migration are twofold: which \n+repositories to migrate and, if hard linking, designating the blobstore location.\n \n-[[migration-configuration]]\n-=== Migration Configuration\n+The migration plan you create preserves the fidelity of the {pro} 2 instance, so that if there is a point of \n+failure, cutover tasks will not be interrupted or lost. Current repository formats supported are Maven, NuGet, \n+npm, and static websites ('raw'). For each of these repository format you can migrate global settings, security \n+realm settings, and repository content.\n+\n+With the migration tool the expectation is that {pro} 3 can migrate content from one instance of {pro} 2 at a \n+time. The tool migrates the repositories simultaneously leveraging your choice to download, hard link or \n+copy local files, which are the options you are granted to execute the migration.\n+\n+[[migration-storage]]\n+=== Storage Considerations for Migration\n+\n+Oftentimes when you might need to move bytes from a file system to free up space, creating a new file system in \n+the process. Be aware of the capacity of file objects across your system. For migration, keeping an inventory of \n+your inodes, the hierarchal data structure that represents the file objects, will be useful to you when keeping \n+track of bytes and metadata within your system.\n+\n+Before you consider migrating content from {pro} 2 to {pro} 3, be aware that hard linking may prove itself a \n+file-storage challenge. The essential nature of hard linking is that you create two file entries that point to \n+the same bytes; so you have to double the inode usage, but you do not double the bytes. For this reason it is \n+best for an administrator or the organization to develop a plan for managing file systems.\n+\n+In any file system movement operation, you must ensure that the data has been correctly copied to the new \n+destination before migration. If you decide to migrate repositories by hard linking you may consider the \n+implications of storage usage. Hard linking repository metadata creates another reference to the same set of \n+bytes somewhere else. If the content set for migration in {pro} 2 is too large for {pro} 3, part of the data will \n+be distributed to cleared data blocks, or elsewhere.\n+\n+[[migration-support]]\n+=== Supported Architecture and Performance for Migration\n+\n+Though you can migrate from the same server, you can also migrate content from {pro} 2 to {pro} 3 from an ","path":"chapter-migration.asciidoc","position":56,"original_position":56,"commit_id":"c38c90d1437aa74622f9052c68158639028e159d","original_commit_id":"c38c90d1437aa74622f9052c68158639028e159d","user":{"login":"mrprescott","id":2325642,"avatar_url":"https://avatars.githubusercontent.com/u/2325642?v=3","gravatar_id":"","url":"https://api.github.com/users/mrprescott","html_url":"https://github.com/mrprescott","followers_url":"https://api.github.com/users/mrprescott/followers","following_url":"https://api.github.com/users/mrprescott/following{/other_user}","gists_url":"https://api.github.com/users/mrprescott/gists{/gist_id}","starred_url":"https://api.github.com/users/mrprescott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrprescott/subscriptions","organizations_url":"https://api.github.com/users/mrprescott/orgs","repos_url":"https://api.github.com/users/mrprescott/repos","events_url":"https://api.github.com/users/mrprescott/events{/privacy}","received_events_url":"https://api.github.com/users/mrprescott/received_events","type":"User","site_admin":false},"body":"I think 'reverse proxy' is a red herring here. There are really two 'architectures', NX2 and NX3 running on the same server, ideally with access to the same file systems, or NX2 and NX3 running on two separate machines without access to the same file systems. Whether or not either has a reverse proxy in front of doesn't really need to be discussed in the migration docs.. except in the sense that the organization will need some clever way to cut over from their NX2 to their NX3 instance, and a quick change in the configuration of the reverse proxy sitting out in front of both of them is one way to do that.","created_at":"2016-05-24T15:49:59Z","updated_at":"2016-05-24T15:49:59Z","html_url":"https://github.com/sonatype/nexus-book/pull/180#discussion_r64418923","pull_request_url":"https://api.github.com/repos/sonatype/nexus-book/pulls/180","_links":{"self":{"href":"https://api.github.com/repos/sonatype/nexus-book/pulls/comments/64418923"},"html":{"href":"https://github.com/sonatype/nexus-book/pull/180#discussion_r64418923"},"pull_request":{"href":"https://api.github.com/repos/sonatype/nexus-book/pulls/180"}}},"pull_request":{"url":"https://api.github.com/repos/sonatype/nexus-book/pulls/180","id":70014211,"html_url":"https://github.com/sonatype/nexus-book/pull/180","diff_url":"https://github.com/sonatype/nexus-book/pull/180.diff","patch_url":"https://github.com/sonatype/nexus-book/pull/180.patch","issue_url":"https://api.github.com/repos/sonatype/nexus-book/issues/180","number":180,"state":"open","locked":false,"title":"NEXUS-10173 & NEXUS 10222 pre migration & UI docs","user":{"login":"dulanism","id":5214266,"avatar_url":"https://avatars.githubusercontent.com/u/5214266?v=3","gravatar_id":"","url":"https://api.github.com/users/dulanism","html_url":"https://github.com/dulanism","followers_url":"https://api.github.com/users/dulanism/followers","following_url":"https://api.github.com/users/dulanism/following{/other_user}","gists_url":"https://api.github.com/users/dulanism/gists{/gist_id}","starred_url":"https://api.github.com/users/dulanism/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dulanism/subscriptions","organizations_url":"https://api.github.com/users/dulanism/orgs","repos_url":"https://api.github.com/users/dulanism/repos","events_url":"https://api.github.com/users/dulanism/events{/privacy}","received_events_url":"https://api.github.com/users/dulanism/received_events","type":"User","site_admin":false},"body":"JIRA: https://issues.sonatype.org/browse/NEXUS-10173 & https://issues.sonatype.org/browse/NEXUS-10222 - Combining UI & pre-migration docs after preliminary docs for pre-migration were already merged (i.e. https://github.com/sonatype/nexus-book/pull/182)","created_at":"2016-05-13T15:28:57Z","updated_at":"2016-05-24T15:49:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2519422e81f6e44335f97da6d0ff9b2646e4d3dc","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/sonatype/nexus-book/pulls/180/commits","review_comments_url":"https://api.github.com/repos/sonatype/nexus-book/pulls/180/comments","review_comment_url":"https://api.github.com/repos/sonatype/nexus-book/pulls/comments{/number}","comments_url":"https://api.github.com/repos/sonatype/nexus-book/issues/180/comments","statuses_url":"https://api.github.com/repos/sonatype/nexus-book/statuses/c38c90d1437aa74622f9052c68158639028e159d","head":{"label":"sonatype:NEXUS-10173-migration-ui-docs","ref":"NEXUS-10173-migration-ui-docs","sha":"c38c90d1437aa74622f9052c68158639028e159d","user":{"login":"sonatype","id":44938,"avatar_url":"https://avatars.githubusercontent.com/u/44938?v=3","gravatar_id":"","url":"https://api.github.com/users/sonatype","html_url":"https://github.com/sonatype","followers_url":"https://api.github.com/users/sonatype/followers","following_url":"https://api.github.com/users/sonatype/following{/other_user}","gists_url":"https://api.github.com/users/sonatype/gists{/gist_id}","starred_url":"https://api.github.com/users/sonatype/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonatype/subscriptions","organizations_url":"https://api.github.com/users/sonatype/orgs","repos_url":"https://api.github.com/users/sonatype/repos","events_url":"https://api.github.com/users/sonatype/events{/privacy}","received_events_url":"https://api.github.com/users/sonatype/received_events","type":"Organization","site_admin":false},"repo":{"id":188759,"name":"nexus-book","full_name":"sonatype/nexus-book","owner":{"login":"sonatype","id":44938,"avatar_url":"https://avatars.githubusercontent.com/u/44938?v=3","gravatar_id":"","url":"https://api.github.com/users/sonatype","html_url":"https://github.com/sonatype","followers_url":"https://api.github.com/users/sonatype/followers","following_url":"https://api.github.com/users/sonatype/following{/other_user}","gists_url":"https://api.github.com/users/sonatype/gists{/gist_id}","starred_url":"https://api.github.com/users/sonatype/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonatype/subscriptions","organizations_url":"https://api.github.com/users/sonatype/orgs","repos_url":"https://api.github.com/users/sonatype/repos","events_url":"https://api.github.com/users/sonatype/events{/privacy}","received_events_url":"https://api.github.com/users/sonatype/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/sonatype/nexus-book","description":"Repository Management with Nexus","fork":false,"url":"https://api.github.com/repos/sonatype/nexus-book","forks_url":"https://api.github.com/repos/sonatype/nexus-book/forks","keys_url":"https://api.github.com/repos/sonatype/nexus-book/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sonatype/nexus-book/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sonatype/nexus-book/teams","hooks_url":"https://api.github.com/repos/sonatype/nexus-book/hooks","issue_events_url":"https://api.github.com/repos/sonatype/nexus-book/issues/events{/number}","events_url":"https://api.github.com/repos/sonatype/nexus-book/events","assignees_url":"https://api.github.com/repos/sonatype/nexus-book/assignees{/user}","branches_url":"https://api.github.com/repos/sonatype/nexus-book/branches{/branch}","tags_url":"https://api.github.com/repos/sonatype/nexus-book/tags","blobs_url":"https://api.github.com/repos/sonatype/nexus-book/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sonatype/nexus-book/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sonatype/nexus-book/git/refs{/sha}","trees_url":"https://api.github.com/repos/sonatype/nexus-book/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sonatype/nexus-book/statuses/{sha}","languages_url":"https://api.github.com/repos/sonatype/nexus-book/languages","stargazers_url":"https://api.github.com/repos/sonatype/nexus-book/stargazers","contributors_url":"https://api.github.com/repos/sonatype/nexus-book/contributors","subscribers_url":"https://api.github.com/repos/sonatype/nexus-book/subscribers","subscription_url":"https://api.github.com/repos/sonatype/nexus-book/subscription","commits_url":"https://api.github.com/repos/sonatype/nexus-book/commits{/sha}","git_commits_url":"https://api.github.com/repos/sonatype/nexus-book/git/commits{/sha}","comments_url":"https://api.github.com/repos/sonatype/nexus-book/comments{/number}","issue_comment_url":"https://api.github.com/repos/sonatype/nexus-book/issues/comments{/number}","contents_url":"https://api.github.com/repos/sonatype/nexus-book/contents/{+path}","compare_url":"https://api.github.com/repos/sonatype/nexus-book/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sonatype/nexus-book/merges","archive_url":"https://api.github.com/repos/sonatype/nexus-book/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sonatype/nexus-book/downloads","issues_url":"https://api.github.com/repos/sonatype/nexus-book/issues{/number}","pulls_url":"https://api.github.com/repos/sonatype/nexus-book/pulls{/number}","milestones_url":"https://api.github.com/repos/sonatype/nexus-book/milestones{/number}","notifications_url":"https://api.github.com/repos/sonatype/nexus-book/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sonatype/nexus-book/labels{/name}","releases_url":"https://api.github.com/repos/sonatype/nexus-book/releases{/id}","deployments_url":"https://api.github.com/repos/sonatype/nexus-book/deployments","created_at":"2009-04-29T20:25:10Z","updated_at":"2016-05-10T00:52:42Z","pushed_at":"2016-05-24T14:40:00Z","git_url":"git://github.com/sonatype/nexus-book.git","ssh_url":"git@github.com:sonatype/nexus-book.git","clone_url":"https://github.com/sonatype/nexus-book.git","svn_url":"https://github.com/sonatype/nexus-book","homepage":"http://books.sonatype.com/nexus-book/reference/index.html","size":705398,"stargazers_count":49,"watchers_count":49,"language":"XSLT","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":23,"mirror_url":null,"open_issues_count":3,"forks":23,"open_issues":3,"watchers":49,"default_branch":"master"}},"base":{"label":"sonatype:nexus-3.1.x","ref":"nexus-3.1.x","sha":"b250261eb3a67078aaea35ad375968fece95212d","user":{"login":"sonatype","id":44938,"avatar_url":"https://avatars.githubusercontent.com/u/44938?v=3","gravatar_id":"","url":"https://api.github.com/users/sonatype","html_url":"https://github.com/sonatype","followers_url":"https://api.github.com/users/sonatype/followers","following_url":"https://api.github.com/users/sonatype/following{/other_user}","gists_url":"https://api.github.com/users/sonatype/gists{/gist_id}","starred_url":"https://api.github.com/users/sonatype/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonatype/subscriptions","organizations_url":"https://api.github.com/users/sonatype/orgs","repos_url":"https://api.github.com/users/sonatype/repos","events_url":"https://api.github.com/users/sonatype/events{/privacy}","received_events_url":"https://api.github.com/users/sonatype/received_events","type":"Organization","site_admin":false},"repo":{"id":188759,"name":"nexus-book","full_name":"sonatype/nexus-book","owner":{"login":"sonatype","id":44938,"avatar_url":"https://avatars.githubusercontent.com/u/44938?v=3","gravatar_id":"","url":"https://api.github.com/users/sonatype","html_url":"https://github.com/sonatype","followers_url":"https://api.github.com/users/sonatype/followers","following_url":"https://api.github.com/users/sonatype/following{/other_user}","gists_url":"https://api.github.com/users/sonatype/gists{/gist_id}","starred_url":"https://api.github.com/users/sonatype/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonatype/subscriptions","organizations_url":"https://api.github.com/users/sonatype/orgs","repos_url":"https://api.github.com/users/sonatype/repos","events_url":"https://api.github.com/users/sonatype/events{/privacy}","received_events_url":"https://api.github.com/users/sonatype/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/sonatype/nexus-book","description":"Repository Management with Nexus","fork":false,"url":"https://api.github.com/repos/sonatype/nexus-book","forks_url":"https://api.github.com/repos/sonatype/nexus-book/forks","keys_url":"https://api.github.com/repos/sonatype/nexus-book/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sonatype/nexus-book/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sonatype/nexus-book/teams","hooks_url":"https://api.github.com/repos/sonatype/nexus-book/hooks","issue_events_url":"https://api.github.com/repos/sonatype/nexus-book/issues/events{/number}","events_url":"https://api.github.com/repos/sonatype/nexus-book/events","assignees_url":"https://api.github.com/repos/sonatype/nexus-book/assignees{/user}","branches_url":"https://api.github.com/repos/sonatype/nexus-book/branches{/branch}","tags_url":"https://api.github.com/repos/sonatype/nexus-book/tags","blobs_url":"https://api.github.com/repos/sonatype/nexus-book/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sonatype/nexus-book/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sonatype/nexus-book/git/refs{/sha}","trees_url":"https://api.github.com/repos/sonatype/nexus-book/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sonatype/nexus-book/statuses/{sha}","languages_url":"https://api.github.com/repos/sonatype/nexus-book/languages","stargazers_url":"https://api.github.com/repos/sonatype/nexus-book/stargazers","contributors_url":"https://api.github.com/repos/sonatype/nexus-book/contributors","subscribers_url":"https://api.github.com/repos/sonatype/nexus-book/subscribers","subscription_url":"https://api.github.com/repos/sonatype/nexus-book/subscription","commits_url":"https://api.github.com/repos/sonatype/nexus-book/commits{/sha}","git_commits_url":"https://api.github.com/repos/sonatype/nexus-book/git/commits{/sha}","comments_url":"https://api.github.com/repos/sonatype/nexus-book/comments{/number}","issue_comment_url":"https://api.github.com/repos/sonatype/nexus-book/issues/comments{/number}","contents_url":"https://api.github.com/repos/sonatype/nexus-book/contents/{+path}","compare_url":"https://api.github.com/repos/sonatype/nexus-book/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sonatype/nexus-book/merges","archive_url":"https://api.github.com/repos/sonatype/nexus-book/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sonatype/nexus-book/downloads","issues_url":"https://api.github.com/repos/sonatype/nexus-book/issues{/number}","pulls_url":"https://api.github.com/repos/sonatype/nexus-book/pulls{/number}","milestones_url":"https://api.github.com/repos/sonatype/nexus-book/milestones{/number}","notifications_url":"https://api.github.com/repos/sonatype/nexus-book/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sonatype/nexus-book/labels{/name}","releases_url":"https://api.github.com/repos/sonatype/nexus-book/releases{/id}","deployments_url":"https://api.github.com/repos/sonatype/nexus-book/deployments","created_at":"2009-04-29T20:25:10Z","updated_at":"2016-05-10T00:52:42Z","pushed_at":"2016-05-24T14:40:00Z","git_url":"git://github.com/sonatype/nexus-book.git","ssh_url":"git@github.com:sonatype/nexus-book.git","clone_url":"https://github.com/sonatype/nexus-book.git","svn_url":"https://github.com/sonatype/nexus-book","homepage":"http://books.sonatype.com/nexus-book/reference/index.html","size":705398,"stargazers_count":49,"watchers_count":49,"language":"XSLT","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":23,"mirror_url":null,"open_issues_count":3,"forks":23,"open_issues":3,"watchers":49,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/sonatype/nexus-book/pulls/180"},"html":{"href":"https://github.com/sonatype/nexus-book/pull/180"},"issue":{"href":"https://api.github.com/repos/sonatype/nexus-book/issues/180"},"comments":{"href":"https://api.github.com/repos/sonatype/nexus-book/issues/180/comments"},"review_comments":{"href":"https://api.github.com/repos/sonatype/nexus-book/pulls/180/comments"},"review_comment":{"href":"https://api.github.com/repos/sonatype/nexus-book/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/sonatype/nexus-book/pulls/180/commits"},"statuses":{"href":"https://api.github.com/repos/sonatype/nexus-book/statuses/c38c90d1437aa74622f9052c68158639028e159d"}}}}
{"actor":{"display_login":"mrprescott"}}