diff options
| author | Christian Cleberg <[email protected]> | 2025-11-11 22:49:13 -0600 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2025-11-11 22:49:13 -0600 |
| commit | 51a7a02f0c96d49b68fbcc155414c218207fa270 (patch) | |
| tree | 845af8aad0e8769352efc02fcd1044eed9cc1ec1 /content/blog/2022-03-08-plex-migration.org | |
| parent | 7d3e80ebf1dc770eac0e21890b74f18ba2d15a6b (diff) | |
| download | cleberg.net-51a7a02f0c96d49b68fbcc155414c218207fa270.tar.gz cleberg.net-51a7a02f0c96d49b68fbcc155414c218207fa270.tar.bz2 cleberg.net-51a7a02f0c96d49b68fbcc155414c218207fa270.zip | |
fix grammar in 2022 posts
Diffstat (limited to 'content/blog/2022-03-08-plex-migration.org')
| -rw-r--r-- | content/blog/2022-03-08-plex-migration.org | 238 |
1 files changed, 101 insertions, 137 deletions
diff --git a/content/blog/2022-03-08-plex-migration.org b/content/blog/2022-03-08-plex-migration.org index 23ae0a3..f6da160 100644 --- a/content/blog/2022-03-08-plex-migration.org +++ b/content/blog/2022-03-08-plex-migration.org @@ -4,18 +4,15 @@ #+slug: plex-migration * Migration Phases -:PROPERTIES: -:CUSTOM_ID: migration-phases -:END: -I recently decided to migrate my server from an old OptiPlex desktop -machine to a custom-built tower with better hardware in every category. -In order to do this, I would need to properly migrate a full Plex -installation. - -The second part of this migration is that the new server uses an Nvidia -GPU and does not have any integrated graphics, which requires extra work -for installation, but provides much better hardware transcoding options -for Plex. + +I recently decided to migrate my server from an old OptiPlex desktop machine to +a custom-built tower with better hardware in every category. In order to do +this, I would need to properly migrate a full Plex installation. + +The second part of this migration is that the new server uses an Nvidia GPU +(graphics processing unit) and does not have any integrated graphics, which +requires extra work for installation, but provides much better hardware +transcoding options for Plex. Therefore, I have broken this migration down into three phases: @@ -24,50 +21,41 @@ Therefore, I have broken this migration down into three phases: 3. Configure GPU Transcoding * Phase 1: Configure the New Server -:PROPERTIES: -:CUSTOM_ID: phase-1-configure-the-new-server -:END: -** Choosing an OS -:PROPERTIES: -:CUSTOM_ID: choosing-an-os -:END: + +** Choosing an Operating System (OS) + In order to migrate Plex to my new server, I first needed to choose an -appropriate operating system (OS) and install it on the machine. Given -that I have encountered numerous issues installing other Linux -distributions properly with Nvidia graphics, I chose -[[https://ubuntu.com/download/server][Ubuntu Server]]. +appropriate OS and install it on the machine. Given that I have encountered +numerous issues installing other Linux distributions properly with Nvidia +graphics, I chose [[https://ubuntu.com/download/server][Ubuntu Server]]. -The first step is to create a bootable USB with Ubuntu Server. This is -easy with [[https://www.balena.io/etcher/][Etcher]], an app that runs on -many different platforms. Just download the Ubuntu Server =.iso= image, -launch Etcher, and install the =.iso= on the USB. +The first step is to create a bootable USB (universal serial bus) with Ubuntu +Server. This is easy with [[https://www.balena.io/etcher/][Etcher]], an app that runs on many different platforms. +Just download the Ubuntu Server =.iso= image, launch Etcher, and install the +=.iso= on the USB. -Once the USB is created, insert it into my server, reboot, and click -=Esc= (or any of the =F1-12= keys) until the BIOS menu appears. Finally, -launch the USB boot drive. +Once the USB is created, insert it into my server, reboot, and click =Esc= (or +any of the =F1-12= keys) until the BIOS (Basic Input/Output System) menu +appears. Finally, launch the USB boot drive. ** Booting with Nvidia -:PROPERTIES: -:CUSTOM_ID: booting-with-nvidia -:END: + In order to install Ubuntu Server with an Nvidia Graphics card (and no -integrated graphics on this device for some reason), you'll have to -configure the boot menu to allow different graphics drivers to be -loaded. +integrated graphics on this device for some reason), you'll have to configure +the boot menu to allow different graphics drivers to be loaded. -When booting from the USB, the machine will launch the initial -installation menu. From this menu, type =e= to view the default command -options that come with the device - it's a good idea to take a photo of -this screen, so you can enter these commands on the next screen (along -with adding support for Nvidia). +When booting from the USB, the machine will launch the initial installation +menu. From this menu, type =e= to view the default command options that come +with the device - it's a good idea to take a photo of this screen, so you can +enter these commands on the next screen (along with adding support for Nvidia). -Finally, type =Ctrl + C= to enter the command line. From this command -line, enter the commands found on the =e= screen. /Remember to add -=nomodeset= to the =linux ...= line so that your Nvidia device will -display the installation screens properly!/ +Finally, type =Ctrl + C= to enter the command line. From this command line, +enter the commands found on the =e= screen. Remember to add =nomodeset= to the +=linux ...= line so that your Nvidia device will display the installation +screens properly! -Here's an example of the commands I pulled from the =e= screen and -entered on the command line. +Here's an example of the commands I pulled from the =e= screen and entered on +the command line. #+begin_src sh setparams 'Install Ubuntu Server' @@ -77,12 +65,11 @@ initrd /casper/initrd boot #+end_src -Once the machine is rebooted, enter the =e= screen again and add -=nomodeset= to the =linux ...= line again and press =Ctrl + X= to save -the boot options. +Once the machine is rebooted, enter the =e= screen again and add =nomodeset= to +the =linux ...= line again and press =Ctrl + X= to save the boot options. -The machine is now fully installed and can properly display on an -external display using the Nvidia GPU. +The machine is now fully installed and can properly display on an external +display using the Nvidia GPU. Always remember to update and upgrade on a new installation: @@ -91,40 +78,29 @@ sudo apt update; sudo apt upgrade -y; sudo apt autoremove -y #+end_src * Phase 2: Migrate Plex Data & Devices -:PROPERTIES: -:CUSTOM_ID: phase-2-migrate-plex-data-devices -:END: -This phase uses the great Plex article on migrations -([[https://support.plex.tv/articles/201370363-move-an-install-to-another-system/][Move -an Installation to Another System]]) and adds a bit more information to -help with commands and context. + +This phase uses the great Plex article on migrations ([[https://support.plex.tv/articles/201370363-move-an-install-to-another-system/][Move an Installation to +Another System]]) and adds a bit more information to help with commands and +context. ** Terminology -:PROPERTIES: -:CUSTOM_ID: terminology -:END: -*Source:* The original server that is being replaced.\\ -*Destination:* The new server.\\ -*Client:* Any application that can be used to modify settings for both -source/destination. + +- *Source:* The original server that is being replaced. +- *Destination:* The new server. +- *Client:* Any application that can be used to modify settings for both + source/destination. ** Step 01: [Client] Update Settings -:PROPERTIES: -:CUSTOM_ID: step-01-client-update-settings -:END: -Open up a Plex app and /disable/ the =Account= > =Library= > -=Empty trash automatically after every scan= preference for the source -server. + +Open up a Plex app and /disable/ the =Account= > =Library= > =Empty trash +automatically after every scan= preference for the source server. ** Step 02: [Destination] Install Plex -:PROPERTIES: -:CUSTOM_ID: step-02-destination-install-plex -:END: -Open up the [[https://www.plex.tv/media-server-downloads/][Plex Media -Server download page]] and copy the link for the appropriate platform. -Execute the following commands on the destination server to install -Plex: +Open up the [[https://www.plex.tv/media-server-downloads/][Plex Media Server download page]] and copy the link for the +appropriate platform. + +Execute the following commands on the destination server to install Plex: #+begin_src sh wget <url> @@ -133,50 +109,44 @@ sudo systemctl stop plexmediaserver.service #+end_src ** Step 03: [Source] Stop Plex & Migrate Data -:PROPERTIES: -:CUSTOM_ID: step-03-source-stop-plex-migrate-data -:END: -First, stop the Plex service so that no data is created or modified -during the migration. + +First, stop the Plex service so that no data is created or modified during the +migration. #+begin_src sh sudo systemctl stop plexmediaserver.service #+end_src -Next, copy the data to the new server. To find where the Plex data -directory is located, Plex has another excellent article available: -[[https://support.plex.tv/articles/202915258-where-is-the-plex-media-server-data-directory-located/][Where -is the Plex Media Server data directory located?]]. +Next, copy the data to the new server. To find where the Plex data directory is +located, Plex has another excellent article available: [[https://support.plex.tv/articles/202915258-where-is-the-plex-media-server-data-directory-located/][Where is the Plex Media +Server data directory located?]]. -There are many ways to copy the data to the new server and will largely -depend on the size of the folder being copied. Personally, my data -folder was ~23GB and I opted to simply use the =scp= command to copy the -files over SSH. +There are many ways to copy the data to the new server and will largely depend +on the size of the folder being copied. Personally, my data folder was ~23GB and +I opted to simply use the =scp= command to copy the files over SSH (Secure Shell +Protocol). -This process was throttled by the old server's slow HDD and ports and -took approximately 90 minutes to complete. In comparison, moving the -data from the new server's =home/user/= directory to the -=/var/.../Plex Media Server= directory took 2-3 minutes. +This process was throttled by the old server's slow hard disk and ports and took +approximately 90 minutes to complete. In comparison, moving the data from the +new server's =home/user/= directory to the =/var/.../Plex Media Server= +directory took 2-3 minutes. #+begin_src sh scp -r "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server" [email protected]:"'/path/to/destination/'" #+end_src ** Step 04: [Destination] Update File Permissions -:PROPERTIES: -:CUSTOM_ID: step-04-destination-update-file-permissions -:END: -In case you move the data directory to a common area on the new server, -it will have to be moved to the proper location before Plex can function -properly: + +In case you move the data directory to a common area on the new server, it will +have to be moved to the proper location before Plex can function properly: #+begin_src sh mv "Plex Media Server" /var/lib/plexmediaserver/Library/Application Support/ #+end_src -To ensure permissions were retained properly, the server will need to -show that all files and folders in the data directory are owned by -=plex:plex= (or whichever user is running the Plex application). +To ensure permissions were retained properly, the server will need to show that +all files and folders in the data directory are owned by =plex:plex= (or +whichever user is running the Plex application). #+begin_src sh sudo chown -R plex:plex "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server" @@ -190,43 +160,37 @@ sudo systemctl status plexmediaserver.service #+end_src ** Step 05: [Client] Update Libraries & Metadata -:PROPERTIES: -:CUSTOM_ID: step-05-client-update-libraries-metadata -:END: -The first step - now that the new server is up and running - is to sign -out of the client and sign back in. Once this is done, update any -library locations, if necessary. This was unnecessary in my case since I -simply moved my storage drives from the source server to the destination -server. + +The first step - now that the new server is up and running - is to sign out of +the client and sign back in. Once this is done, update any library locations, if +necessary. This was unnecessary in my case since I simply moved my storage +drives from the source server to the destination server. Next, perform the following actions in the client: -1. On the left sidebar, click =More= > Three-Dot Menu > - =Scan Library Files= -2. /Enable/ the =Account= > =Library= > - =Empty trash automatically after every scan= preference for the - source server. -3. On the left sidebar, click =More= > Three-Dot Menu > =Manage Server= - > =Empty Trash= -4. On the left sidebar, click =More= > Three-Dot Menu > =Manage Server= - > =Clean Bundles= -5. On the left sidebar, click =More= > Three-Dot Menu > =Manage Server= - > =Optimize Database= +1. On the left sidebar, click =More= > Three-Dot Menu > =Scan Library Files= +2. /Enable/ the =Account= > =Library= > =Empty trash automatically after every + scan= preference for the source server. +3. On the left sidebar, click =More= > Three-Dot Menu > =Manage Server= > =Empty + Trash= +4. On the left sidebar, click =More= > Three-Dot Menu > =Manage Server= > =Clean + Bundles= +5. On the left sidebar, click =More= > Three-Dot Menu > =Manage Server= > + =Optimize Database= -Finally, double-check the Remote Access settings to make sure no changes -have caused issues with accessing the server from outside the network. +Finally, double-check the Remote Access settings to make sure no changes have +caused issues with accessing the server from outside the network. -In my case, I use a single port forwarding rule in my router and needed -to update the Local LAN IP Address to the new server IP address. +In my case, I use a single port forwarding rule in my router and needed to +update the Local LAN (local area network) IP (internet protocol) Address to the +new server IP address. * Phase 3: Configure GPU Transcoding -:PROPERTIES: -:CUSTOM_ID: phase-3-configure-gpu-transcoding -:END: -The final piece to the migration is enabling hardware transcoding so -that Plex can fully utilize the new Nvidia GPU available in the server. -The first step is to install Nvidia graphics drivers. This process may -take a few minutes, but the commands are pretty simple: + +The final piece to the migration is enabling hardware transcoding so that Plex +can fully utilize the new Nvidia GPU available in the server. The first step is +to install Nvidia graphics drivers. This process may take a few minutes, but the +commands are pretty simple: #+begin_src sh sudo add-apt-repository ppa:graphics-drivers/ppa @@ -248,5 +212,5 @@ following command to view the available GPUs, statistics, and processes: sudo nvidia-smi #+end_src -Finally, enable hardware transcoding settings in the Plex application to -finish the process. +Finally, enable hardware transcoding settings in the Plex application to finish +the process. |
