dpkg (1.15.5.6ubuntu4) causes a massive regression in the installation of the Ubuntu Server.
Specifically, this from the changelog, addressing Bug #559915:
- Restore fsync during package unpack (LP: #559915). This is now done
by deferring the fsync and rename for normal files in tar extraction
so that it's done in one pass afterwards, to avoid massive I/O
degradation due to the serialization from each write + fsync. When
creating hard links to normal files on extraction use the .dpkg-new
filename for source as the file is not yet in place due to the rename
deferral.
I just installed the same hardware, from the same USB stick, in an identical configuration, one on ext4 and the other on ext3.
On ext4, this took 19 minutes, 20 seconds. On ext3, this took 9 minutes, 8 seconds.
This is a 100% performance hit on Server installs. It takes now takes over twice as long to install Ubuntu servers.
While I can understand that the fsyncs() are necessary for power loss situations on apt-get upgrade/dpkg operations *after* the system has been installed, it should not be necessary at Server install time. If you lose power during a d-i installation, you will clearly need to start from scratch anyway.
The desktop installer does not suffer from this since ubiquity installations simply transfer the live image.
Binary package hint: dpkg
dpkg (1.15.5.6ubuntu4) causes a massive regression in the installation of the Ubuntu Server.
Specifically, this from the changelog, addressing Bug #559915:
- Restore fsync during package unpack (LP: #559915). This is now done
by deferring the fsync and rename for normal files in tar extraction
so that it's done in one pass afterwards, to avoid massive I/O
degradation due to the serialization from each write + fsync. When
creating hard links to normal files on extraction use the .dpkg-new
filename for source as the file is not yet in place due to the rename
deferral.
I just installed the same hardware, from the same USB stick, in an identical configuration, one on ext4 and the other on ext3.
On ext4, this took 19 minutes, 20 seconds. On ext3, this took 9 minutes, 8 seconds.
This is a 100% performance hit on Server installs. It takes now takes over twice as long to install Ubuntu servers.
While I can understand that the fsyncs() are necessary for power loss situations on apt-get upgrade/dpkg operations *after* the system has been installed, it should not be necessary at Server install time. If you lose power during a d-i installation, you will clearly need to start from scratch anyway.
The desktop installer does not suffer from this since ubiquity installations simply transfer the live image.