Archive for the Category » linux «

Sunday, August 04th, 2013 | Author:

I had a power outage affect my server’s large MD Pagsalakay 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.

Gayunman, 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” o “man fsck”, you have to inputfsck.ext4help” o “man fsck.ext4”. 🙂

magbahagi
Sunday, August 04th, 2013 | Author:

Kasaysayan

Karamihan ay nagbago mula noong huling ko ang aking nabanggit personal na server – ito ay lumago sa pamamagitan ng leaps at hangganan (ito ay mayroon na ngayong 7TB MD RAID6) at kamakailan lamang ito ay itinayong muli sa Ubuntu Server.

Arko ay hindi kailanman isang pagkakamali. Arch Linux ay na itinuro sa akin kaya magkano ang tungkol sa Linux (at patuloy na gawin ito sa aking iba pang mga desktop). Ngunit Arch Talagang nangangailangan ng mas maraming oras at atensyon kaysa Gusto kong gastusin sa isang server. May perpektong ko gustong sa magagawang kalimutan ang tungkol sa mga server para sa isang habang hanggang sa isang paalala sa email sabi “Um … mayroong ilang mga update ay dapat kang tumingin sa, buddy.”

Space ay hindi libre – at hindi rin ay espasyo

Ang pagkakataon na mag-migrate sa Ubuntu ay ang katotohanan na ako ay maubusan ng SATA port, ang port na kinakailangan upang ikonekta ang matapang na drive upang ang natitirang bahagi ng ang computer – 7TB na salakayin array ay gumagamit ng maraming port! Kahit na ako ay ibinigay ang layo ng aking napaka lumang 200GB hard disk bilang ito kinuha up ng isa sa mga port. Ako din binigyan ng babala ang tatanggap na ang disk ni Matalino Pagmamanman ng nakasaad dito ay hindi kapani-paniwala. Bilang isang pansamantalang workaround sa kakulangan ng SATA port, Kahit na ako ay lumipat na OS ng server sa isang hanay ng mga apat na sticks USB sa isang MD RAID1. Bangaw. Alam ko. Ako ay hindi masyadong masaya tungkol sa bilis. Ako nagpasya upang pumunta out at bumili ng isang bagong maaasahang hard drive at isang SATA card Pagpapalawak upang pumunta sa mga ito.

Pangunahing Arch ng server ay partisyon gamit ang tungkol sa 7GB ng disk. Ang isang malaking tipak ng iyon ay isang magpalitan file, naka-cache na data at kung hindi man ay halu-halo o hindi kinakailangang mga file. Pangkalahatang ang aktwal na laki ng OS, kabilang ang /bahay folder, lamang tungkol sa 2GB. Ito sinenyasan sa akin upang tumingin sa isang napakabilis na SSD magmaneho, iniisip marahil ng isang mas maliit na ang isa ay maaaring hindi kaya mahal. Ito ay naka-out na ang cheapest non-SSD drive ay maaaring ko mahahanap ang aktwal na gastos mas sa isa sa mga relatibong maliit na SSDs. Yay para sa akin. 🙂

Pagpili? Woah?!

Sa pagpili ng OS, Gusto ko na nagpasya hindi ito magiging Arch. Wala ng lahat ng iba pang mga sikat na distribusyon, Ako ay pinaka-pamilyar sa Ubuntu at CentOS. Fedora noon din ang isang posibilidad – ngunit hindi ako ay sineseryoso pa itinuturing na ito para sa isang server. Ubuntu nanalo ang pag-ikot.

Ang susunod na desisyon ko ay nagkaroon upang gumawa ay hindi mangyayari sa akin hanggang Pagka-nasa-lahat-ng-pook (Installation wizard ng Ubuntu) tinanong ko: Paano i-set up ang partitions.

Ako ay bago sa paggamit ng SSDs sa Linux – Ako na rin malaman ng mga pitfalls ng hindi gumagamit ang mga ito ng tama, karamihan dahil sa kanilang panganib ng mahinang kahabaan ng buhay kung maling maggamit.

Hindi ko nais na gumamit ng isang nakalaang makipagpalitan ng partisyon. Plano ko sa pag-upgrade motherboard / CPU / memory ng server ay hindi masyadong malayo sa hinaharap. Batay sa na ako nagpasya ko bang ilagay ang makipagpalitan sa isang makipagpalitan ng file sa umiiral na isang bigla at hindi inaasahang pagsalakay ng MD. Ang makipagpalitan ay hindi maging partikular na mabilis nito ngunit tanging layunin ay para na bihirang pagkakataon kapag ang isang bagay ay nawala maling at ang memorya ay hindi magagamit.

Ito pagkatapos ay iniwan sa akin upang bigyan ang root path ang buong 60GB out ng isang Intel 330 SSD. Ko itinuturing na naghihiwalay / home ngunit tila lamang ito ng kaunti walang kahulugan, ibinigay gaano kaliit ay ginagamit sa nakalipas. Ako unang-set up ang partisyon na may LVM – isang bagay na kamakailan ko ang ginagawa tuwing ako magse-set up ng isang Linux box (talaga, walang dahilan na hindi gamitin ang LVM). Kapag nakuha ito sa bahagi kung saan Gusto ko i-configure ang mga filesystem, Ko click ang drop-down at nang katutubo napiling ext4. Pagkatapos Napansin ko btrfs sa parehong listahan. Manatili!!

Ngunit kung ano ang isang?

Btrfs (“mantikilya-eff-ess”, “mas mahusay na-eff-ess”, “abeha-tree-eff-ess”, o anumang Fancy mo sa araw) ang isang relatibong bagong filesystem binuo upang dalhin ang Linux’ filesystem kakayahan bumalik sa track na may kasalukuyang filesystem tech. Ang umiiral na King-of-the-Hill filesystem, “EXT” (ang kasalukuyang bersyon na tinatawag na ext4) ay medyo magandang – ngunit ito ay limitado, Natigil sa isang lumang tularan (sa tingin ng isang bagong tatak F22 Raptor vs. isang F4 parang multo may isang half-jested pagtatangka sa isang upgrade pagkapareho) at ay malamang na hindi magagawang upang makipagkumpetensya para sa napakatagal na may mas bagong filesystems Enterprise tulad ng Oracle ni ZFS. Btrfs pa rin ay may isang mahabang paraan upang pumunta at itinuturing pa rin ang pang-eksperimentong (depende sa kung sino ang magtanong at kung ano ng kailangan mo). Maraming isaalang-alang ito upang maging matatag para sa basic na paggamit – ngunit walang saysay na tao ay pagpunta sa gumawa ng anumang mga garantiya. At, oo naman, ang lahat ay sinasabi na upang gumawa at subukan ang mga backup!

Mooooooo

Ang pinaka-pangunahing pagkakaiba sa pagitan ng EXT at btrfs na btrfs ay “Baka” o “Kopyahin sa Isulat” filesystem. Nangangahulugan ito na ang data ay hindi aktwal na sadyang mapapatungan ng internals ang filesystem. Kung sumulat ka ng pagbabago sa isang file, btrfs ay isulat ang iyong mga pagbabago sa isang bagong lokasyon sa pisikal na media at maa-update ang panloob na pointer upang sumangguni sa bagong lokasyon. Btrfs napupunta isang hakbang karagdagang sa na mga panloob na mga payo (tinutukoy bilang metadata) ay rin Baka. Mas lumang bersyon ng EXT ay may lamang-o-overwrite ang data. Ext4 gumamit ng Journal upang matiyak na hindi mangyayari ang katiwalian dapat ang AC plug yanked sa pinaka-hindi napapanahon sandali. Ang mga journal na mga resulta sa isang katulad na bilang ng mga hakbang na kinakailangan upang i-update ang data. Gamit ang isang SSD, ang kalakip na hardware ay nagpapatakbo ng isang kaparehong proseso Cow kahit na ano filesystem gumagamit ka ng. Ito ay dahil SSD drive ay hindi maaaring aktwal na patungan ang mga data – kailangan nila upang kopyahin ang data (gamit ang iyong mga pagbabago) sa isang bagong lokasyon at pagkatapos burahin ang lumang block ganap. Ang isang pag-optimize sa lugar na ito ay na SSD isang hindi maaaring kahit na burahin ang lumang bloke ngunit sa halip lamang gumawa ng isang nota upang burahin ang mga bloke sa ibang pagkakataon kapag ang mga bagay ay hindi kaya busy. Ang katapusan ng resulta ay na SSD drive magkasya napakahusay na may isang filesystem Cow at hindi gumaganap pati na rin sa mga hindi Cow filesystems.

Upang gumawa ng mga bagay na kawili-wili, Cow sa ang filesystem madaling napupunta kamay sa kamay na may isang tampok na tinatawag na Deduplication. Ito ay nagpapahintulot sa dalawang (o higit pa) magkakahawig na mga bloke ng data na naka-imbak ng paggamit lamang ng isang kopya, pagse-save espasyo. Gamit Cow, kung ang isang deduplicated file ay binagong, hiwalay twin hindi maaapektuhan ng mga data sa nabagong file ay na-nakasulat sa isang iba't ibang mga pisikal na block.

Cow ay ginagawang snapshotting medyo madaling ipatupad. Kapag ang isang snapshot ng system ang Itinatala lamang ang bagong snapshot bilang isang duplicate ng lahat ng data at metadata sa loob ng volume. Gamit Cow, kapag may mga pagbabagong ginawa, ay mananatiling buo ang data ng snapshot, at isang pare-parehong view ng katayuan ng filesystem sa oras na snapshot ang ginawa panatilihin.

Ang isang bagong kaibigan

Sa itaas sa isip, lalo na kung Ubuntu btrfs magagamit bilang isang-oras na pagpipilian ng pag-install, Naisip ko ito ay isang mahusay na oras upang sumisid in sa btrfs at galugarin ng kaunti. 🙂

Bahagi 2 paparating …

magbahagi
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.

din, 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. 😉

magbahagi
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. Sa aking kaso, 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 hindi 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, dito. 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” at “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. 🙂

magbahagi
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.

magbahagi