Archive for the Category » linux «

Sunday, August 04th, 2013 | Author:

I had a power outage affect my server’s large md RAID array. Rather than let the server as a whole be down while waiting for it to complete an fsck, I had it boot without the large array so I could run the fsck manually.

Con todo, when running it manually I realised I had no way of knowing how far it was and how long it would take to complete. This is especially problematic with such a large array. With a little searching I found the tip of adding the -C parameter when calling fsck. I couldn’t find this in the documentation however: fsckhelp showed no such option.

The option turns out to be ext4-specific, and thus shows a perfectly functional progress bar with a percentage indicator. To find the information, instead offsckhelp” ou “man fsck”, you have to inputfsck.ext4help” ou “man fsck.ext4”. 🙂

acción
Sunday, August 04th, 2013 | Author:

Historia

Moita cousa mudara desde a última vez mencionou o meu servidor persoal – que creceu os trancos e barrancos (agora ten un 7TB md RAID6) e que fora recentemente reconstruído con Ubuntu Servidor.

Arco nunca foi un erro. Arch Linux xa me ensinou moito sobre Linux (e vai continuar a facelo no meu escritorio outro). Pero Arch definitivamente require máis tempo e atención do que me gustaría pasar nun servidor. Ideal, prefiro ser capaz de esquecer o servidor por un tempo ata un correo electrónico recordatorio di “hum … Hai algunhas actualizacións que ten que ollar, amigo.”

O espazo non é libre – e non é o espazo

A oportunidade de migrar a Ubuntu foi o feito de que eu tiña acaba de SATA portas, as portas necesarias para conectar unidades de disco duro para o resto do equipo – que array RAID 7TB usa unha morea de portos! Eu ata dera a miña moi disco duro de 200GB de idade, xa que colleu unha desas portas. Tamén advertiu de que o destinatario do disco Intelixente seguimento indicou que non era de confianza. Como unha solución temporal para a falta de portas SATA, Eu tiña mesmo migrou o sistema operativo do servidor para un conxunto de catro pen drives nun md RAID1. Tolo. Sei. Eu non estaba moi feliz coa velocidade. Eu decidir ir para fóra, e mercar un novo disco duro de confianza e unha placa de expansión SATA para ir con el.

Arch partición de inicio do servidor estaba usando preto de 7 GB de disco. Unha peza grande de que era un intercambiar arquivo, datos da caché e ficheiros doutra forma diversas ou innecesaria. No xeral o tamaño real do sistema operativo, incluíndo o /casa dobrador, foi de só preto de 2 GB. Isto levoume a ollar para a super-rápido SSD conducir, pensando que se cadra un menor pode non ser tan caro. Descubriuse que o coche máis barato non SSD eu podería atopar custa máis que un destes SSDs relativamente pequenas. Yay para min. 🙂

Escolla? Woah?!

Ao escoller o OS, Eu xa tiña decidido que non sería Arch. Fóra de todas as outras distribucións populares, Eu estou máis familiarizado con Ubuntu e CentOS. Fedora Foi tamén unha posibilidade – pero eu seriamente non considerara a un servidor. Ubuntu gañou a rolda.

A seguinte decisión que eu tiven que facer non me ocorreu ata Ubicuidade (Asistente de instalación de Ubuntu) preguntou a min: Como configurar o particións.

Eu estaba usando o novo SSDs en Linux – Eu estou ben consciente das trampas de non usalos correctamente, principalmente debido ao risco de lonxevidade pobres mal utilizados.

Eu non quería usar unha partición de intercambio adicada. Estou pensando en actualizar motherboard do servidor / CPU / memoria non moi distante no futuro. Con base no que eu decidín que vai poñer a swap nun ficheiro de intercambio en RAID md existente. O intercambio non será particularmente rápido, pero o seu único obxectivo será para que raras ocasións en que algo está mal e que a memoria non está dispoñible.

Iso, entón, deixou-me a dar o camiño da raíz o de 60GB cheo dun Intel 330 SSD. Eu considerei que separa / casa, pero el só parecía un pouco sen sentido, dado o pouco foi utilizado no pasado. Eu primeiro definir a partición co LVM – algo que veño facendo pouco cada vez que configurar unha caixa de Linux (Realmente, non hai escusa para non usar LVM). Cando chegou á parte onde eu podería configurar o sistema de ficheiros, Prema no desplegable e instintivamente seleccionado ext4. Entón notei btrfs na mesma lista. Esperar!!

Pero o que?

Btrfs (“manteiga de EFE-ese”, “mellor-EFE-ese”, “abella-árbore-EFE-ese”, ou o que sexa o día) é un sistema de ficheiros relativamente novo desenvolvido para traer Linux’ capacidades do sistema de ficheiros volta na pista con tecnoloxía actual sistema de ficheiros. O Rei-de-the-Hill existente sistema de ficheiros, “ext” (a versión actual chamada ext4) é moi bo – pero limita, preso nun vello paradigma (pensar nun novo F22 Raptor vs. un Phantom F4 co intento de media jested nunha actualización de equivalencia) e é improbable que sexa capaz de competir por moito tempo con novos sistemas de ficheiros empresariais, tales como ZFS de Oracle. Btrfs aínda ten un longo camiño a percorrer e aínda é considerada experimental (dependendo de quen lle preguntar, e as funcións que precisa). Moitos consideran que é estable para o seu uso básico – pero ninguén vai facer calquera garantías. E, claro, todo o mundo está dicindo para facer e probar backups!

Mooooooo

A diferenza fundamental entre o ramal e btrfs é que é un btrfs “Cow” ou “Copia da escritura” sistema de ficheiros. Isto significa que os datos non é realmente deliberadamente substituído por internos do sistema de ficheiros. Se escribir unha modificación nun arquivo, btrfs vai escribir o cambio a un novo local en medios física e debería actualizar os punteiros internos para referirse ao novo lugar. Btrfs será un paso máis aló no que os punteiros internos (referido como metadatos) son tamén Cow. Versións máis antigas do ramal tería simplemente sobres os datos. Ext4 ía usar un diario para garantir que a corrupción non ocorrerá o plug AC ser arrancada no momento máis inoportuno. Os resultados diarios nun número similar de pasos necesarios para actualizar datos. Cun SSD, o hardware subxacente opera un proceso Cow semellante, non importa o sistema de ficheiros que está a usar. Isto porque drives SSD realmente non pode substituír datos – eles teñen que copiar os datos (con cambios) a un novo lugar e, a continuación, eliminar o antigo bloque completo. Unha optimización nesta zona é que un SSD pode ata non eliminar o bloque de idade, senón simplemente facer unha nota para eliminar o bloque nun momento posterior, cando as cousas non están tan ocupados. O resultado final é que os discos SSD se encaixan moi ben con un sistema de ficheiros de vaca e non funciona tan ben cos non-vaca sistemas de ficheiros.

Para facer as cousas interesantes, Vaca no sistema de ficheiros facilmente vai da man con un recurso chamado de desduplicação. Isto permite que os dous (ou máis) bloques idénticos de datos a seren gardados usando só unha única copia, economía de espazo. Con vaca, se un arquivo é modificado desduplicados, o xemelgo separado non será afectada, os datos do arquivo modificado foi escrito para un bloque distinto física.

Cow á súa vez fai snapshotting relativamente fácil de implementar. Cando unha instantánea está feito o sistema rexistra só o novo instantáneo como a duplicación de todos os datos e metadatos dentro do volume. Con vaca, cando se fixeron cambios, datos do instantáneo permanece intacta, e unha visión coherente do estado do sistema de ficheiros no momento en que o instantáneo foi feito pode ser mantida.

Un novo amigo

Con isto en mente, especialmente Ubuntu fixo btrfs dispoñible como unha opción de tempo de instalación, Eu imaxinei que sería un bo momento para mergullar en btrfs e explorar un pouco. 🙂

Parte 2 pronto …

acción
Thursday, November 12th, 2009 | Author:

If you ever find yourself updating a single application in Arch Linux (a very bad idea, btw) and it upgrades readline you might end up seeing an error along the lines of:
/bin/bash: error while loading shared libraries: libreadline.so.5: cannot open shared object file: No such file or directory
Hopefully you still have a bash prompt open and you haven’t closed them all. If you still can, immediately run the following:
pacman -S bash
else you won’t be able to run bash any more because bash would still be linking to the old version of readline.

tamén, in future, don’t run
pacman -Sy application
(python in my case)
instead, run:
pacman -Syu
which will ensure that all applications are upgraded.

Personally, I think that bash should have had a dependency set saying that it required the old specific version of readline and the same for the new bash, requiring the new version of readline. Regardless, rather play it safe. 😉

acción
Friday, September 11th, 2009 | Author:

Peace in the land of USB

Under a *nix operating system, having multiple partitions on a USB drive isn’t rocket science, it just works. No meu caso, my USB drive has two partitions because the first partition is a bootable Arch Linux installer.

I have Windows on a desktop at homemostly for gamingand many of my colleagues use it too. Since Windows doesn’t do very well with non-Windows partitions I figured I could create a FAT32 partition on the memory stick after the bootable Arch Linux partition. FAT32 is almost ubiquitous and is usable on every common desktop operating system in the world.

Bleh

Unfortunately it doesn’t work straight off the bat. Apparently, Microsoft in their infinite wisdom decided that memory sticks are supposed to have one (and only one) partition. In reality Windows finds the first partition and then ignores any others that happen to be set up:

Please Format

Err, no, I do not want you to format my Arch Linux installation partition

The trick to getting it working is to fool Windows into thinking the device is non a regular USB memory stick but perhaps a solid-state hard disk which happens to be connected via USB. Yes I know, this is seriously stupid that Windows behaves this way. A solid-state hard disk is just a whopping big (and fast) memory stick after all!

I found a few sources on how to do this however I still had to figure out some things on my own. Specifically, the guides I found either skipped some steps or didn’t provide enough information on where to download the driver package.

This procedure involves manually changing hardware drivers and installingnon-signeddriversnot intended for your hardware”. I know someone is going to break their system and blame me so I say now that I take no responsibility for any damage you may do to your Windows system as a result of this. Read that again. 😛

Instructions

remove the highlighted text

click for larger version

Download and unzip the driver, originally created by Hitachi, aquí. Open the cfadisk.inf file in notepad (or your favourite plaintext editor), and find the section labeled [cfadisk_device]. Remove the section highlighted on the right:

Minimize (don’t close) the editor and go to your desktop iconsright-click on My Computer and select Properties. Select the hardware tab and then select [Device Manager]:

System Properties

Find the device underDisk drives”, right-click your memory stick and select Properties:

Device Manager

Click the Details tab and in the dropdown box on that page, selectHardware Ids”. Click the first line in the list of Hardware IDs and press Ctrl+C to copy the name:

USB Hardware Ids

Don’t close this dialog, go back to notepad (which was minimised) and paste the hardware ID into where the previous content was removed.

Changes pasted into notepad

Save the file in notepad and go back to the device’s property dialog window. Click theDrivertab and click the [Update Driver…] button. In the windows that pop up, selectNo, not this time”; [Next] -> “Install from a list or a specific location (Advanced)”; [Next] -> “Don’t search. I will choose the driver to install.”; [Next] -> [Have Disk…].

Unsigned Drivers - Click Continue Anyway

Browse to the folder where you have saved the modified cfadisk.inf file. Click [OK]. You will find

there is a Hitachi Microdrive driver listed. Select this and click [Next]. When the warning

appears, click [Yes]. Another warning will pop up regarding a similar issue (these are theunsigned” e “not intended for your hardwarewarnings I mentioned earlier). Click [Continue Anyway]:

At this point I recommend closing all the dialog boxes related to the setup. Finally, remove and re-insert the memory stick into your USB port and you should find that the extra partitions on the stick are accessible. In the worst-case scenario, you might still need to partition the disk however the hard part is over. 🙂

acción
Wednesday, August 26th, 2009 | Author:

If you’re using *nix and you’ve found this middle-click behaviour annoying, change Firefox‘s middlemouse.contentLoadURL about:config option to false.

Big thanks to Ayman Hourieh for the tip.

acción