|
|
Line 3: |
Line 3: |
| == Overview == | | == Overview == |
|
| |
|
| Often times QuantaStor systems are deployed in sites where there's no public internet access. On these deployments the QuantaStor systems are unable to directly access packages.osnexus.com and in order for the systems to run upgrades they will need a local package mirror. The local package mirror is basically a VM which has a copy of the QuantaStor and other package files from packages.osnexus.com so that the local DNS server can be configured to resolve packages.osnexus.com to the local mirror within the datacenter.
| | QuantaStor systems are sometimes deployed in sites where there's no public internet access. On these deployments the QuantaStor systems are unable to directly access packages.osnexus.com and in order for the systems to run upgrades they will need a local package mirror. |
|
| |
|
| There are a couple of methods by which a package mirror repository can be setup, those are:
| | The local package mirror is usually a VM, which has a copy of the QuantaStor repository, and other package files from packages.osnexus.com, so that the local DNS server can be configured to resolve packages.osnexus.com to the local mirror within the datacenter. |
| | |
| | Our supported method is * Nginx + rsync of packages.osnexus.com: |
|
| |
|
| * Nginx + rsync of packages.osnexus.com | | * Nginx + rsync of packages.osnexus.com |
| * Apache + apt-mirror of packages.osnexus.com
| |
|
| |
|
| == Nginx + RSync Package Mirror Method == | | == Nginx + RSync Package Mirror Method == |
Line 72: |
Line 73: |
|
| |
|
| If you need any further assistance, please contact support@osnexus.com. | | If you need any further assistance, please contact support@osnexus.com. |
|
| |
| == Apache + apt-mirror Package Mirror Method ==
| |
|
| |
| Follow the steps below to create a local mirror of the OSNEXUS QuantaStor update repository using apt-mirror for systems with Ubuntu 14.04 as its base operating system. The below instructions assume you already have an local Ubuntu server currently installed.
| |
|
| |
| [QS] label indicates commands will to run on your QuantaStor systems
| |
|
| |
| [MIR] label indicates commands to run on your package mirror server / VM
| |
|
| |
| === Instructions ===
| |
|
| |
| [MIR] 1. Elevate as root (<code>sudo -i</code>)
| |
|
| |
| [MIR] 2. Update packages (<code>apt-get update</code>)
| |
|
| |
| [MIR] 3. Install and enable Apache Web Server (<code>apt install -y apache2 && systemctl enable apache2</code>)
| |
|
| |
| [MIR] 4. Create a package directory and set the correct permissions (<code>mkdir -p /var/www/html/repo && chown www-data:www-data /var/www/html/repo</code>)
| |
|
| |
| [MIR] 5. Install apt-mirror (<code>apt install -y apt-mirror</code>)
| |
|
| |
| [MIR] 6. Make a backup of /etc/apt/mirror.list (<code>cp /etc/apt/mirror.list /etc/apt/mirror.list-bak</code>)
| |
|
| |
| [MIR] 7. Edit /etc/apt/mirror.list to be like the below:
| |
|
| |
| ==== Ubuntu 18.04 (Bionic) mirror.list Configuration ====
| |
| <pre>
| |
| set base_path /var/www/html/repo
| |
| set nthreads 20
| |
| set _tilde 0
| |
|
| |
| deb http://packages.osnexus.com/packages bionic main
| |
| deb http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
| |
| deb http://archive.ubuntu.com/ubuntu bionic-security main restricted universe multiverse
| |
| deb http://archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse
| |
| deb-src http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
| |
| deb-src http://archive.ubuntu.com/ubuntu bionic-security main restricted universe multiverse
| |
| deb-src http://archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse
| |
| clean http://archive.ubuntu.com/ubuntu
| |
| clean http://packages.osnexus.com/packages
| |
| </pre>
| |
|
| |
| ==== Ubuntu 16.04 (Xenial) mirror.list Configuration ====
| |
| <pre>
| |
| set base_path /var/www/html/repo
| |
| set nthreads 20
| |
| set _tilde 0
| |
|
| |
| deb http://packages.osnexus.com/packages xenial main
| |
| deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse
| |
| deb http://archive.ubuntu.com/ubuntu xenial-security main restricted universe multiverse
| |
| deb http://archive.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse
| |
| deb-src http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse
| |
| deb-src http://archive.ubuntu.com/ubuntu xenial-security main restricted universe multiverse
| |
| deb-src http://archive.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse
| |
| clean http://archive.ubuntu.com/ubuntu
| |
| clean http://packages.osnexus.com/packages
| |
| </pre>
| |
|
| |
| ==== Ubuntu 14.04 (Trusty) mirror.list Configuration ====
| |
| <pre>
| |
| ############# config ##################
| |
| #
| |
| set base_path /var/www/html/repo
| |
| #
| |
| # set mirror_path $base_path/mirror
| |
| # set skel_path $base_path/skel
| |
| # set var_path $base_path/var
| |
| # set cleanscript $var_path/clean.sh
| |
| # set defaultarch <running host architecture>
| |
| # set postmirror_script $var_path/postmirror.sh
| |
| # set run_postmirror 0
| |
| set nthreads 20
| |
| set _tilde 0
| |
| #
| |
| ############# end config ##############
| |
|
| |
| deb http://packages.osnexus.com/packages trusty main
| |
| deb http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
| |
| deb http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
| |
| deb http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
| |
| deb-src http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
| |
| deb-src http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
| |
| deb-src http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
| |
| clean http://archive.ubuntu.com/ubuntu
| |
| clean http://packages.osnexus.com/packages
| |
| </pre>
| |
|
| |
| === Running the Package Mirroring ===
| |
|
| |
| [MIR] 8. Create a var folder in the local repo (<code>mkdir -p /var/www/html/repo/var</code>)
| |
|
| |
| [MIR] 9. Copy /var/spool/apt-mirror/var/postmirror.sh to the var folder in the local repo (<code>cp /var/spool/apt-mirror/var/postmirror.sh /var/www/html/repo/var</code>)
| |
|
| |
| [MIR] 10. Start the mirroring process (<code>nohup apt-mirror &</code>)
| |
|
| |
| '''Note:''' Depending on your internet speed, this may take some time, but you can monitor the process with <code>tail nohup.out</code>. When it's finished, continue with step 11.
| |
|
| |
| [QS] 11. Elevate as root (<code>sudo -i</code>)
| |
|
| |
| [QS] 12. Make a copy of /etc/apt/sources.list and /etc/apt/sources.list.d/osnexus.list (<code>cp /etc/apt/sources.list /etc/apt/sources.list.bk && cp /etc/apt/sources.list.d/osnexus.list /etc/apt/sources.list.d/osnexus.list.bk</code>
| |
|
| |
| [QS] 13. Edit /etc/apt/sources.list to be like the below:
| |
|
| |
|
| |
| ==== Ubuntu 18.04 (Bionic) sources.list Configuration ====
| |
| <pre>
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ bionic-updates main
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ bionic universe
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ bionic-updates universe
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ bionic multiverse
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ bionic-updates multiverse
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
| |
| </pre>
| |
|
| |
| ==== Ubuntu 16.04 (Xenial) sources.list Configuration ====
| |
| <pre>
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ xenial-updates main
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ xenial universe
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ xenial-updates universe
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ xenial multiverse
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ xenial-updates multiverse
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
| |
| </pre>
| |
|
| |
| ==== Ubuntu 14.04 (Trusty) sources.list Configuration ====
| |
| <pre>
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ trusty-updates main
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ trusty universe
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ trusty-updates universe
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ trusty multiverse
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ trusty-updates multiverse
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
| |
| </pre>
| |
|
| |
| '''Note:''' Due to some oddities with apt-mirror, we have to specify using 64-bit with <code>[arch=amd64]</code>. If you don't, you'll see errors related to not being able to find 32-bit (i386) packages.
| |
|
| |
| === Upgrading QuantaStor ===
| |
|
| |
| [QS] 14. Edit /etc/apt/sources.list.d/osnexus.list to be like the below:
| |
|
| |
| <pre>
| |
| deb [arch=amd64] http://<YOUR_MIR_IP>/repo/mirror/packages.osnexus.com/packages/ <distribution> main
| |
| </pre>
| |
|
| |
| [QS] 15. Update packages and upgrade QuantaStor (<code>apt-get update && qs-upgrade</code>)
| |
|
| |
| '''Note:''' You may get stuck not being able to update the virt-what package. If this happens, you may either download (<code>wget</code>) and install (<code>dpkg -i</code>) the .deb package from a trusted source on the QuantaStor appliance, or download it to /var/www/html/repo/mirror/archive.ubuntu.com/ubuntu/pool/universe/v/virt-what.
| |