moodle is dead... iain bruce, james blair, michael o'loughlin

21
Moodle is dead…

Upload: ireland-uk-moodlemoot-2012

Post on 09-May-2015

244 views

Category:

Presentations & Public Speaking


1 download

DESCRIPTION

Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin Presented at Edinburgh Moodlemoot 2014 www.moodlemoot.ie

TRANSCRIPT

Page 1: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Moodle is dead…

Page 2: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

The Problem

• On the 30th of July 2013 the VLE, DBA and Network teams of Information services were invited to a meeting which was to test our Business continuity with our VLE environment (Moodle). The teams were given the following scenario.

• All University systems have been shut down due to a full power failure which has affected both Craiglockhart and Merchiston with no other current services at our Sighthill campus; this also means that there is no external internet access from inside the University.

• Moodle as being the most critical system at this time of the year is essential and has to be back on-line as quickly as possible to allow students access to their current course work.

Page 3: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Team brief

• The team are allowed access to any of the offsite backup systems (VMs, Data and Databases).

• No University hardware can be used for the process.

• Staff were allowed to use their on-call laptops.

• Staff have access to budget to gain resources if needed.

Page 4: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Incident Procedure

Incident Manager

Coordinates troubleshooting/Information

gathering

IT Incident Duty Manager

(Technical Services)

Takes ownership of Incident through to resolution

Technical Expert(s)

Update call notes with progress

Call Management system records the various stages of the Incident.

Page 5: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Who was involved?

Head Of Applications

DBA?

VLE/WEBData Centre

& Operations

Page 6: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Edinburgh Napier’sMoodle Infrastructure

Page 7: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Some stats…

Page 8: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

What Solution? (Approx. 2hrs)

• The following decisions were made during the initial Emergency Incident meeting.

1. We would use Amazon Web Services and create a virtual machine in the cloud. AWS provided scalable solutions, import/export options for database

2. We would look to get database and files backup from tape

3. Switch user accounts to manual

4. We discussed how to communicate out to students.

Page 9: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Tasks involved Obtain a database backup (Approx. 4hrs)

a. Installed Zmanda Community Edition to recover MySQLb. No access to DBA and use of the Zmanda recovery software was

problematic(backup had to match the version of MySQL), meant a Hot backup was obtained.

c. Truncated logs and statistics to speed up the importd. Import Database into AWS MySQL database

Obtain Moodle user files from backup (Approx. 5hrs)a. Backup came from Symantec NetBackup as we found file storage was not

going to tape at the time.

Page 10: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Register for Amazon Web Services (AWS) accounta. Purchased AWS Business support.

Setup AWS (Approx. 30mins)a. Create EC2 instance RHEL 6.4 64bit with 7.5GB RAM, 1TB disk space.b. Create a Key Pair - AWS uses public-key cryptography to secure the

login information for your instance.c. Communicated the AWS account credentials to key team members

to allow other aspects of the service to be configured.

Transfer Moodle user files to Amazon (Approx. 7hrs)a. Initial size of backup was 475GB, this was reduced to 190GB after

removal of duplicate directories and redundant course backup files.b. Initially tried using WinSCP for transfer, this was going to take 14hrs,

switched to RSYNC transfer complete in 6hrs.

Tasks involved

Page 11: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Tasks involved

Obtain a database backup (Approx. 4hrs)a. Installed Zmanda Community Edition to recover MySQLb. No access to DBA and use of the Zmanda recovery software was problematic(backup had to match the version of mysql), meant a

Hot backup was obtained.c. Truncated logs and statistics to speed up the importd. Import Database into AWS MySQL database

Obtain Moodle user files from backup (Approx. 5hrs)a. Backup came from Symantec NetBackup as we found file storage was not going to tape at the time.

Register for Amazon Web Services (AWS) accounta. Purchased AWS Business support.

Setup AWS (Approx. 30mins)a. Launch Amazon console in correct region.b. Create EC2 instance RHEL 6.4 64bit with 7.5GB RAM, 1TB disk space.c. Communicated the AWS account credentials to key team members to allow other aspects of the service to be configured.

Transfer Moodle user files to Amazon (Approx. 7hrs)a. Initial size of backup was 475GB, this was reduced to 190GB after removal of duplicate directories and redundant course backup

files.b. Initially tried using WinSCP for transfer, this was going to take 14hrs, switched to RSYNC transfer complete in 6hrs.

Page 12: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Tasks involved Setup AWS (Approx. 30mins)

a. Create EC2 instance RHEL 6.4 64bit with 7.5GB RAM, 1TB disk space.b. Create a Key Pair - AWS uses public-key cryptography to secure the login

information for your instance.c. Communicated the AWS account credentials to key team members to

allow other aspects of the service to be configured.

Transfer Moodle user files to Amazon (Approx. 7hrs)a. Initial size of backup was 475GB, this was reduced to 190GB after removal

of duplicate directories and redundant course backup files.b. Initially tried using WinSCP for transfer, this was going to take 14hrs,

switched to RSYNC transfer complete in 6hrs.

Page 13: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Tasks involved

Obtain a database backup (Approx. 4hrs)a. Installed Zmanda Community Edition to recover MySQLb. No access to DBA and use of the Zmanda recovery software was problematic(backup had to match the version of MySQL), meant a

Hot backup was obtained.c. Truncated logs and statistics to speed up the importd. Import Database into AWS MySQL database

Obtain Moodle user files from backup (Approx. 5hrs)a. Backup came from Symantec NetBackup as we found file storage was not going to tape at the time.

Register for Amazon Web Services (AWS) accounta. Purchased AWS Business support.

Setup AWS (Approx. 30mins)a. Create EC2 instance RHEL 6.4 64bit with 7.5GB RAM, 1TB disk space.b. Create a Key Pair - AWS uses public-key cryptography to secure the login information for your instance.c. Communicated the AWS account credentials to key team members to allow other aspects of the service to be configured.

Transfer Moodle user files to Amazon (Approx. 7hrs)a. Initial size of backup was 475GB, this was reduced to 190GB after removal of duplicate directories and redundant course backup

files.b. Initially tried using WinSCP for transfer, this was going to take 14hrs, switched to RSYNC transfer complete in 6hrs.

Page 14: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Tasks involved Setup AWS (Approx. 30mins)

a. Create EC2 instance RHEL 6.4 64bit with 7.5GB RAM, 1TB disk space.b. Create a Key Pair - AWS uses public-key cryptography to secure the login

information for your instance.c. Communicated the AWS account credentials to key team members to

allow other aspects of the service to be configured.

Transfer Moodle user files to Amazon (Approx. 7hrs)a. Initial size of backup was 475GB, this was reduced to 190GB after removal

of duplicate directories and redundant course backup files.b. Initially tried using WinSCP for transfer, this was going to take 14hrs,

switched to RSYNC transfer complete in 6hrs.

Page 15: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Tasks involved continued... Installation & Configuration of Services (Approx. 2hrs)

a. Apache, PHP & MySQL Installed, services started.b. Installation of GIT c. Cloned our Moodle code from Git Hub where all our commits are backed

up automatically.d. Backed up ignored files separately, for example config.php e. Ensure Apache user has correct permissions on directory.f. Alter Moodle config.php with new database credentials.

Page 16: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Tasks involved continued...

Moodle Administration (Approx. 1hr)a. Recreated Moodle admin accountb. Switch Moodle user accounts to ‘Manual’ and regenerate passwordsc. Successfully access Moodle user accounts and data on AWS, various

admin/teacher/student accounts accessed and tested.

Page 17: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Moodle in the Cloud!

Page 18: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Lessons Learned

• Backups were only stored on high availability disks across two campuses• Recommend

• Backup to tape every 2 weeks.

• Passwords for a number of the services were only with the DBAs• Recommend

• Storing of passwords in the same way across the teams.• Access to all passwords for the teams.

• Further Backups • Recommend

• Additional Emergency MySQL dump• Filter out redundant files from backup to reduce time• Migrate only necessary tables• Search and replace text inside sql file before import (mainly for hardcoded urls)• Replicate data up to Cloud

Page 19: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Lessons Learned continued…

• SMS students about the downtime of the system • Recommend

• Storing of student SMS/phone details off campus or on on-call laptops

• Moodle • Recommend

• Create basic scripts for the processes against the database on user accounts

• Active directory is one of the main services to allow our system to work• Recommend

• Store an active directory server in the cloud or at another universities network

Page 20: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Going forward

• Have a cloud Active Directory solution available.

• Have a parked AWS instance available when required.

• Use Vagrant/PuPHPet GUI to have consistent setup and manage virtual machines

Page 21: Moodle is dead... Iain Bruce, James Blair, Michael O'Loughlin

Useful links

• Amazon Web Services - http://aws.amazon.com/

• Windows Azure (Cloud AD) - http://www.windowsazure.com/en-us/

• Vagrant/PuPHPet - https://puphpet.com/