Posts Tagged ‘Ubuntu’

Ubuntu 16.04 LTS upgrade notes

Early today morning I decided to update my NUC to Ubuntu 16.04 LTS. It was a very easy upgrade and I am pleased to report I do not have to ensure nomodeset is set during boot. Dropbox, CrashPlan work just as designed. Its time to move this to the office and ensure that it has a regular monitor attached to it; its my Linux desktop.

I updated the Lenovo ThinkPad X240 as well over a wired Ethernet connection, and to my dismay, the rtl8192ee bugs still plague it. (previously, bug).

Since the Fedora Project released Fedora 24 yesterday, I’m downloading the ISO now. But as a backup, I have also downloaded the Windows 10 ISO (yes, this might be the first Windows I end up using since 3.1, but maybe I’ll do things normal people do with a laptop going forward).

Donating to an opensource project when you download it

Apparently I’ve always thought that donating to opensource software that you use would be a good idea — I found this about Firefox add-ons. I suggested that the MariaDB Foundation do this for downloads to the MariaDB Server, and it looks like most people seem to think that it is an OK thing to do.

I see it being done with Ubuntu, LibreOffice, and more recently: elementary OS. The reasoning seems sound, though there was some controversy before they changed the language of the post. Though I’m not sure that I’d force the $0 figure. 

For something like MariaDB Server, this is mostly going to probably hit Microsoft Windows users; Linux users have repositories configured or use it from their distribution of choice! 

Trying out the Intel NUC

I was thinking about buying a Mac Mini, but the Apple Store in Malaysia has over-priced it, due to the crazy Malaysian Ringgit (prices don’t reflect current realities; custom Mac Mini with all things thrown in is USD$1,499 vs RM6,899, today’s rate being RM6,435).

So I decided to buy an Intel NUC and go the Linux route. I picked up the Intel NUC NUC5i5RYH from CZone for RM1,643 which has an Intel Core i5-5250U processor, WiFi, Ethernet but requires you to provide some RAM, storage and you’re good to go. This is the model that allows an M.2 SSD and another regular 2.5” disk, so I chose to get the Transcend M.2 256GB SATA III 6Gb/s MTS800 to be the disk I’ll used to install an OS on for RM477 and decided that I’ll get another disk for storage/Dropbox purposes — HGST 7000rpm 2.5-Inch 1TB SATA III. RAM was easy – just make sure to get low power DDR3 RAM (DDR3L), and its easy enough to pick up 2*8GB sticks for a total of 16GB of RAM.

All in, I paid RM2,713 for this, and I provided by own MiniDisplayPort to VGA adapter. I see this as a huge savings over the Mac Mini. Sure, I can get a 2TB spinning disk on the Mac Mini (it seems that OEM folk can’t get these fusion drives at that size), but if I really wanted to go all out, I could have gotten a larger M.2 SSD and also went all in with SSD instead of spinning disk. Maybe when the 6th generation NUC comes out.

Configuring Ubuntu was relatively easy. Ubuntu 15.10 did require me to boot with the nomodeset option (so immediately after the visual BIOS splash screen, hit the Shift key, press e to edit the displayed kernel, and when it says ro quiet splash, edit it to say ro nomodeset quiet splash. You install Ubuntu via a USB thumb drive as well.

This is basically a server with X for me. It’s doing tasks like syncing Dropbox, backing up with CrashPlan, and it will allow me to use Docker containers, compile software, etc. while I’m sitting at my desk. It makes for a pretty mean desktop, all packed in a tiny little package. 

Why didn’t I go with the current i7? Seems like there wasn’t too much of a performance boost (good reading: Intel NUC Mini PC Review: Core i5 and i7 Benchmarked). The 6th Gen is also coming, so it will be a much more interesting platform for me (see the NUC6i5SYH; here’s hoping they also have i7 versions).

Ubuntu Online Summit: MySQL & Variants in 16.04

I personally have always enjoyed the Ubuntu Developer Summits (UDS), but nowadays they have been converted to the Ubuntu Online Summits (UOS). Attending them is not always convenient (timezone issues, might be travelling, etc.) so I watched the recorded video of a session I was interested in: MySQL & Variants in 16.04.

My key takeaways

  1. Ubuntu 16.04 Xenial Xerus is an LTS release.
  2. The term “cross-grade” is used a lot (it is not about downgrading/upgrading, but being able to use MySQL or MariaDB or Percona Server interchangeably)
  3. It would be nice to see MySQL 5.7 in this release (for Xenial as well as Debian Stretch). From Oracle there is a new packager taking over the task (Lars)
  4. MySQL 5.5 is still the default in Debian, and there needs to be upgrades tested between 5.5 to 5.7 (it looks like the ideal jump is that Ubuntu will not be seeing MySQL 5.6)
  5. Percona Server 5.7 is 60-90 days out; xtrabackup has had some new modifications and deserves an upgrade
  6. Boost is a new requirement for MySQL 5.7 & Percona Server 5.7; some old TokuDB problems in the builds are likely already fixed in MariaDB Server so this can be inherited
  7. MariaDB is waiting to iron out the bugs in 10.0, and may stick to that

My “raw” transcribed notes

  • Attendees:

    • Jon Grimm (Engineering Director for Ubuntu)
    • Robie Basak (Ubuntu)
    • Otto Kekäläinen (MariaDB Foundation)
    • Lars Tangvald, Norvald H. Ryeng (Oracle)
    • George Ormond Lorch III (Percona)
  • Robie: Waiting in Debian for a transition slot from MySQL 5.5 to MySQL 5.6. There’s some discussion with bugs, re: Akonadi, need to also resolve ABI issues with MySQL 5.6. Not really discussed MySQL 5.7 yet.

  • Norvald: 5.7, changes to installation. Client library ABI cleaned up. There may be some clients breaking because of that. No more exported symbols. See: The Client Library, Part 1: The API, the Whole API and Nothing but the API & The Client Library, Part 2: The Version Number
  • mysql_install_db is now replaced by --initialize in the server, so have to rewrite the post-install scripts. Might also have some AppArmour changes. Spoke to people @ DebConf (so best place is to put AppArmour profiles upstream (i.e. in mysql) and Debian and other distros will get it from there). AppArmour profile is in the MySQL source package now. Probably can get away with doing everything as cmake variables.
  • MySQL 5.7 has disabled the old password hashing algorithm, so if people haven’t upgraded they might have problems; so a manual intervention to fix their accounts.
  • Going from MySQL 5.7 to MySQL 5.6? It is done by dump and restore. There is no testing automated downgrades. Are there disk format changes? Norvald is not aware of any. If you use virtual columns in 5.7, you can’t downgrade easily to 5.6.
  • Robie would prefer to not release 5.6 and 5.7 concurrently. During Trusty, there was some level of user confusion. Debian – release team would prefer to see one transfer than two, so is it better to just do a single transition to 5.7?
  • Norvald says there hasn’t been testing from 5.5 -> 5.7. They only support upgrades from 5.5 -> 5.6 -> 5.7. For Ubuntu the choice can be to have 5.6 and then later do 5.7, but Jessie only just released with 5.5, so Stretch with 5.6 might not be a great idea (so users migrating from Jessie to Stretch will go from 5.5 to 5.7). Could also have 5.7 depend on a stripped 5.6 binary (like the embedded server; this is for localhost and the security team shouldn’t be too annoyed) for people to do an upgrade. Norvald says this has not been tried and there needs to be a migration path tested from 5.5 -> 5.7.
  • Conclusion: 5.7 in Stretch. Xenial is an LTS release, and 5.7 should be targeted for that.
  • If the maintainer script fails (postinstall script fails – don’t leave apt in a weird state). If it fails then upgrades, leave a debconf critical notice to say that the service is disabled and then fix it manually. Otto says that leaving /etc in a broken state is terrible, so we should avoid it.
  • Do we (Oracle) have the resources for 5.7 packaging and how soon can it be done in time for Xenial? There were patches from Lars in the git tree, but there haven’t been more recently. Lars will take over the 5.7 transition so if there is a list of work items, this will be settled (Lars will take over from Norvald).
  • There will be a separate session with Norvald/Lars/Robie outside of UOS about 5.7. Defer the Boost conversation after the session as well.
  • George: Percona is mainly looking out towards the 5.7 work and what kind of resources that will be put to that. There are new folk @ Percona to help with this. Percona inherits so much from the upstream codebase, it just works for Percona Server. There is Percona XtraDB Cluster and Percona xtrabackup, and xtrabackup has moved on quite a bit since the last upload (since last November 2014). So might be good idea to look at a refresh. There has also been a lot of work done on Percona XtraDB Cluster and there are some developments with Codership, so they are unsure if they will have their own Percona XtraDB Cluster 5.7 by the time Ubuntu is supposed to ship. When Percona is ready for something, just give Robie a shout to ensure that things happen. 60-90 days before a Percona Server 5.7 release. Just be aware of feature freeze for Xenial.
  • Norvald mentions that Percona Server 5.7 will also depend on Boost and there needs to be a decision on this. George mentions that TokuDB is now part of Percona Server, and it has some of its own requirements as well. Do we include TokuDB? It has requirements like it will only run on 64-bit platforms. Things to figure out going forward? MariaDB has been carrying TokuDB last November, but Robie remembers disabling it in Ubuntu. George says there were some licensing issues back then but they seem to be taken care of.
  • Otto says the builds for TokuDB was failing. It has a dependency on jemalloc, and that might have been the reason there were failures (says George). There may be something else where it doesn’t build on Ubuntu builders. But Otto says that there was a commit where this got fixed about last month. George will follow on, just to absorb it, since the legwork is already complete.
  • Otto: Trusty has 5.5, and Jessie and all other Ubuntu releases have 10.0, and 10.1 was released last month and I’m not quite pushing it to Debian quite yet. Fix 10.0 build fixes, upstream them, then only focus on 10.1. Blocking? (last summer) 5.6 is not in testing, so could not depend on it/changes done in 5.6 mysql-common. Here’s hoping that mysql-common going forward will be generated separately.
  • Robie will take an action to resolve the delta (probably just drop it). To sync MariaDB 10.0 to Xenial.
  • Discussion on /var/lib/mysql/*.flag thing on the list — conclusion at: mailing list — goal: within a single Ubuntu release, people can “cross-grade” between MySQL variants. The goal is to support all 3, and users want to try them, and thats when the bug reports come. Robie’s goal: move to a per-variant data directory. Otto says that once directory names change, 3rd party tools might have breakage. So a working prototype. Migration path is difficult. Maybe the best is to turn /var/lib/mysql into a symlink and store the data elsewhere. PostgreSQL does per version directories today; so studying that is going to happen.

Ubuntu 14.04 – some MySQL ecosystem notes

Following my previous post on the launch, I just rolled Ubuntu 14.04 LTS on an Amazon EC2 t1.micro instance (not something you expect to run a database server on, for sure – 1 vCPU, 0.613GiB RAM). If you do an apt-cache search mysql you get 435 return result sets with the default configuration (trusty: main & universe).

If you do apt-get install mysql-server, you get MySQL 5.5. You enter the password of choice, and before you know it, MySQL is installed (a SELECT VERSION() will return 5.5.35-1ubuntu1).

Next you decide to install MariaDB. I run an apt-get install mariadb-server. It pulls in libjemalloc (for TokuDB) and I expect future releases to ship this engine by default. You enter the password, and you get a new message (as pictured).

MariaDB Ubuntu 14.04 LTS

I verify my test database that I created exists. It does. A SELECT VERSION() returns 5.5.36-MariaDB-1. The innodb_version returns 5.5.36-MariaDB-33.0.

I’m curious about MySQL 5.6 now. So I run apt-get install mysql-server-5.6. Not so straightforward. 

start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.6 (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up mysql-common-5.6 (5.6.16-1~exp1) ...
Processing triggers for libc-bin (2.19-0ubuntu6) ...
Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)

Looks like MySQL 5.6 is more memory hungry… I edited /etc/mysql/my.cnf to ensure that innodb_buffer_pool_size = 64M (I increased this to 128M and it worked too) was set (there was nothing in the default config) and re-ran apt-get install mysql-server-5.6 and it started. My test database was still around ;-)

I wanted to make sure that MySQL 5.6 isn’t more memory hungry just on that instance so I created yet another clean t1.micro instance and did an apt-get install mysql-server-5.6. Same error. Reported lp#1311387.

Nothing to report in particular about Percona – 5.5.34 Percona XtraDB Cluster (GPL), Release 31.1 (Ubuntu), wsrep_25.9.rXXXX. One thing is for sure – if you’re playing around with the ecosystem, installs and upgrades aren’t exactly straightforward.

Congratulations Ubuntu, for the wide choice!

Inspired by Yngve Svendsen’s post, I too think it makes absolute sense to congratulate Ubuntu on the 14.04 LTS release (some server notes – MySQL has a section dedicated to it). Ubuntu users have a lot of server choice today (that’s from all major MySQL ecosystem vendors):

  • MySQL 5.5.35 ships in main. It is the default MySQL. Oracle has committed to providing updates to 5.5 throughout the LTS release cycle of Ubuntu (which is longer than the planned EOL for 5.5). This is why the grant of a Micro Release Exception (MRE).
  • MySQL 5.6.16 ships in universe
  • MariaDB 5.5.36 ships in universe.
  • Percona XtraDB Cluster 5.5.34 ships in universe

Ubuntu’s pitch is being the cloud platform of choice, with OpenStack support. This explains why Percona XtraDB Cluster (the only shipping Galera Cluster variant — no upstream Codership release, and no MariaDB Galera Cluster) is critical infrastructure as its used widely in OpenStack deployments. 451Research estimates that the OpenStack distributions market is worth $82 million in 2014 and $119 million in 2015.

Press release had a choice quote from Percona CEO, Peter Zaitsev:

“We are very pleased that Percona XtraDB Cluster is included in Ubuntu 14.04 LTS. Many organisations that use MySQL need high availability solutions to ensure that their applications meet the expectations of their users. Percona XtraDB Cluster is an easy to use, open source solution for MySQL clustering which addresses these high availability needs. We continue to see growth in Ubuntu usage by our customers and our open source software users so we are confident that the inclusion of Percona XtraDB Cluster in Ubuntu 14.04 will help spread the adoption of cost-effective, high availability MySQL.” Peter Zaitsev, Co-Founder and CEO at Percona