Tag-Archive for » linux «

Sunday, August 04th, 2013 | Author:

I had a power outage affect my server’s large Мэрыленд 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.

Аднак, 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” або “man fsck”, you have to inputfsck.ext4help” або “man fsck.ext4”. 🙂

доля
Sunday, August 04th, 2013 | Author:

Гісторыя

Шмат што змянілася з тых часоў я ў апошні раз згадаў маё персанальны сервер – ён вырас як на дражджах (цяпер ён мае 7TB Мэрыленд RAID6) і ён быў нядаўна адноўлены з Ubuntu Сервер.

Арка ніколі не быў памылкай. Arch Linux ўжо навучыў мяне так шмат пра Linux (і будзе працягваць рабіць гэта на іншых маіх рабочага стала). Але Arch вызначана патрабуе больш часу і ўвагі, чым я хацеў бы правесці на сэрвэры. Для мяне ідэальна было б не хацеў бы мець магчымасць забыцца аб серверы некаторы час, пакуль кажа напамін па электроннай пошце “UM … ёсць некалькі абнаўленняў вы павінны глядзець на, прыяцель.”

Прастора не з'яўляецца бясплатным – і ні адзін не прастору

Магчымасць перайсці на Ubuntu было тое, што я вычарпаў SATA Парты, порта для падлучэння жорсткіх дыскаў з астатняй часткай кампутара – , Што масіў RAID 7TB выкарыстоўвае шмат партоў! Я нават аддаў маёй вельмі старыя 200GB жорсткі дыск, як гэта мела адну з гэтых партоў. Я таксама папярэдзіў, што атрымальнік дыска SMART Маніторынг паказаў, гэта была ненадзейнай. У якасці часовага вырашэння праблемы недахопу партоў SATA, Я нават мігравалі АС сервера ў набор з чатырох USB палачкі ў MD RAID1. Вар'ят. Я ведаю,. Я быў не занадта задаволены хуткасцю. Я вырашыў пайсці і купіць новы надзейны жорсткі дыск SATA і карт пашырэння, каб пайсці з ім.

Асноўны раздзел Arch сервера выкарыстаў 7 ГБ дыскавай. Вялікі кавалак, які быў своп файл, кэшаваныя дадзеныя а ў адваротным выпадку розныя і непатрэбных файлаў. Агульны фактычны памер OS, у тым ліку /дома папка, Толькі каля 2 Гб. Гэта заахвоціла мяне зазірнуць у супер-хуткі SSD ездзіць, думаю, магчыма, малодшым можа быць не так дорага. Аказалася, што самы танны, а не SSD дыск, я мог знайсці на самой справе каштуюць больш чым адзін з гэтых адносна невялікіх цвёрдацельных назапашвальнікаў. Ура для мяне. 🙂

Выбар? Woah?!

Пры выбары АС, Я ўжо вырашыў, што не будзе Arch. З усіх іншых папулярных дыстрыбутываў, Я знаёмы з Ubuntu і CentOS. Мяккая фетравы капялюш Была таксама магчымасць – але я не яшчэ сур'ёзна разглядаць яго для сервера. Ubuntu выйграў раўнд.

Наступнае рашэнне, я павінен быў зрабіць не адбывалася са мной, пакуль Паўсюднасць (Ўстаноўка ў Ubuntu майстры) спытаў ён мяне: Як настроіць раздзелы.

Я пачатковец у выкарыстанні цвёрдацельных дыскаў у Linux – Я добра ведаю, з пастак не выкарыстоўваеце іх правільна, у асноўным за кошт іх рызыка дрэннага даўгавечнасць пры няправільным.

Я не хачу выкарыстоўваць спецыяльны раздзел падпампоўкі. Я планую на мадэрнізацыю мацярынскай платы сервера / CPU / памяці не занадта далёка ў будучыню. Зыходзячы з гэтага я вырашыў, што будзе рабіць профіль падпампоўкі ў файле падпампоўкі на існуючым RAID MD. Падпампоўкі ня будзе асабліва хутка, але адзіная яго мэта будзе за гэта рэдкі выпадак, калі нешта пайшло не так, і памяць не даступная.

Гэта тады пакінула мяне, каб даць Каранёвай шлях поўны 60GB з Intel 330 SSD. Я лічыў аддзялення / дом, але гэта толькі здавалася трохі бессэнсоўна, улічваючы тое, як мала было выкарыстана ў мінулым. Я спачатку стварыць раздзел з LVM – тое, што я рабіў у апошні час, калі я стварыў Linux скрынцы (сапраўды, няма ніякага апраўдання, каб не выкарыстоўваць LVM). Калі ён дабраўся да часткі, дзе я хацеў бы наладзіць файлавую сістэму, Я націснуў расчыняе і інстынктыўна выбраныя ext4. Потым я заўважыў, Btrfs ў тым жа спісе. Ўчапіцца!!

Але тое, што?

Btrfs (“масла-эф-ESS”, “лепш-эф-ESS”, “Пчала-дрэва-эф-ESS”, або што вы ўяўляеце у дзень) з'яўляецца адносна новай файлавай сістэмы распрацаваны ў мэтах прывядзення Linux’ Магчымасці файлавай сістэмы ў патрэбнае рэчышча з бягучай файлавай тэхналогій. Існуючая King-оф-Hill файлавай сістэмы, “Ext” (Бягучая версія завецца ext4) даволі добра – але ён абмежаваны, затрымаўся ў старой парадыгме (думаць аб новым F22 Raptor VS. an F4 Phantom з напалову жартаваў спроба эквівалентнасці абнаўлення) і наўрад ці зможа канкурыраваць вельмі доўга з новымі файлавымі сістэмамі прадпрыемствы, такія як Oracle, ZFS. Btrfs яшчэ доўгі шлях, і да гэтага часу лічыцца эксперыментальным (у залежнасці ад таго, хто вы спытаеце, і якія функцыі вам патрэбныя). Многія лічаць, што гэта будзе стабільным для базавага выкарыстання – але ніхто не збіраецца рабіць ніякіх гарантый. І, вядома, усе кажуць зрабіць і праверыць рэзервовыя копіі!

Мууууууу

Найбольш фундаментальнае адрозненне паміж доб і Btrfs з'яўляецца тое, што Btrfs з'яўляецца “CoW” або “Капіяваць Напісаць” файлавай сістэмы. Гэта азначае, што дадзеныя ніколі не бывае на самай справе свядома заменены ўнутраныя файлавай сістэмы. Калі вы пішаце змены ў файл, Btrfs будзе запісаць змены на новае месца на фізічным носьбіце і будзе абнаўляць ўнутраныя паказальнікі спаслацца на новае месца. Btrfs ідзе на крок далей у тым, што гэтыя ўнутраныя паказальнікі (называюць метададзенымі) ёсць таксама CoW. Старыя версіі доб б проста перазапісаць дадзеныя. Ext4 будзе выкарыстоўваць часопіс, каб карупцыі не адбудзецца, калі сеткавы шнур вырваў быць у самы непадыходны момант. Часопіс вынікаў у такое ж колькасць крокаў, неабходных для абнаўлення дадзеных. З SSD, базавую абсталяванне працуе аналагічны працэс CoW незалежна ад таго, на якой файлавай вы карыстаецеся. Гэта таму, што SSD дыскі не могуць на самай справе перазапісу дадзеных – яны маюць для капіявання дадзеных (са зменамі) на новае месца, а затым сцерці старую ўсяго кадра. Аптымізацыі ў гэтай галіне з'яўляецца тое, што SSD можа нават не сцірае стары блок, а проста звярніце увагу, каб сцерці блок у больш позні час, калі ўсё не так занятыя. Канчатковым вынікам з'яўляецца тое, што SSD дыскі вельмі добра падыходзяць з каровай файлавай сістэмы і не выконваць, а з не-Карова файлавыя.

Каб зрабіць справы цікавае, Карова ў файлавай сістэме лёгка ідзе рука аб руку з дапамогай функцыі дедупликации. Гэта дазваляе двум (або больш) аднолькавых блокаў дадзеных, якія будуць захоўвацца з выкарыстаннем толькі адной копіі, эканомія прасторы. З каровай, калі дедуплицированных файл зменены, односпальные не будуць закрануты дадзеных зменены файл будзе былі напісаны на іншай фізічны блок.

Карова ў сваю чаргу, робіць імгненных здымкаў адносна лёгка рэалізаваць. Калі здымак зроблены сістэма проста запісвае новы здымак як дубляванне ўсіх дадзеных і метададзеных ў аб'ёме. З каровай, пры унясенні змяненняў, Дадзеныя здымка застаецца непашкоджаным, і узгодненае ўяўленне стану файлавай сістэмы на момант здымак быў зроблены можа быць захавана.

Новы сябар

З улікам вышэйсказанага, асабліва ў Ubuntu зрабіў Btrfs даступная як падчас усталёўкі опцыі, Я лічыў, што гэта будзе добры час, каб паглыбіцца ў Btrfs і даследаваць трохі. 🙂

Частка 2 ў бліжэйшы час …

доля
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. У маім выпадку, 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 ня 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, тут. 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” і “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. 🙂

доля
Wednesday, April 22nd, 2009 | Author:

Арка Linux’s installation process is documented on the Arch wiki. I recommend that persons new to Arch try the excellent Beginner’s Guide instead of the Official Arch Linux Install Guide. Though both wiki entries cover similar ground, the Beginner’s Guide gives a lot more relevant information for those new to the system. The Beginner’s Guide is aimed at desktop installation and, as I’m installing a server, I won’t be going through the installation of the graphical environment at all. Assuming that you’re following my installation, assume that I’ve followed the Beginner’s Guide right up to and including the installation of sudo. I installed the ssh daemon afterwards rather than during the initial setup however.

A few small recommendations and notes regarding installation:

  • If you can, consider using a USB memory stick for the installer and keep it handy for future installations.
  • I keep a copy of my localrepositoryof installed applications on my installer memory stick. Once installation is finished I save a bit of download and update time by copying this to the new server’s /var/cache/pacman/pkg/ folder. The repository on my desktop is typically 1.7GB
  • For the rc.conf, South African-appropriate regional settings are:
    LOCALE=en_ZA.utf8
    TIMEZONE=Africa/Johannesburg
  • I’ve set up the network very simply, according to the guide, and will be expanding on the network setup in a later post.
  • As it is for a server, my non-privileged user on the server is only part of 3 groups: wheel (for sudo), storage, and users. A desktop user will likely be in many more groups.

I prefer using an application called yaourt instead of Arch’s default package manager. Yaourt has the exact same usage syntax as pacman except that it supports a few extra options. It is actually a wrapper application in that it, in turn, uses pacman. Importantly, yaourt supports installation of applications from Arch’s AUR. The AUR is a repository of installation scripts built by Arch users for Arch users to easily install applications that are not officially supported by the main Arch repositories. Yaourt can download and install applications from AUR or the main repositories with the same command, treating the AUR asjust another repository”. Pacman unfortunately does not support this.

Again, the installation is covered in the wiki. I recommend the easy route mentioned in the wiki if you’re new at Arch. Its too much too soon to do it the hard way (also mentioned in the wiki entry).

When done, update your system by issuing the single command:

yaourt -Syu

OR

pacman -Syu

and follow the given recommendations.

доля
Saturday, March 28th, 2009 | Author:

Its amazing how much you can do by combining the small yet powerful commands Unix has available.

This little-used command, time, finally became useful today as a way to report the length of time that certain automated operations are running. In my example, I’m timing how long it takes to build the Linux kernel:

$ time rebuild-kernel26
...
couple-thousand-lines-of-scrolling-text
...
==> Finished making: kernel26 2.6.28.8-1 x86_64 (Sat Mar 28 17:19:52 SAST 2009)
real    62m21.994s
user    43m31.846s
sys     6m1.096s

Yup, that took a little over an hour to build. The values are:

  • realthe actual time elapsed while the command was running – 62 minutes
  • userthe amount of userland time the command used – 43 minutes
  • systhe amount of system time the command used – 6 minutes

(I was busy doing other things while this was happening which is why it took 62 minutes for the desktop to do (43+6=) 49 minutes-worth of work)

If you’re using the GNU version (most likely), it also gives you the option of displaying the results in a custom fashion. Mostly, this command could be useful in scripts where you need to report how long a task tookor maybe? just a geeky way to time something random. 😛

доля
Category: linux  | Tags: , , , , , , ,  | Leave a Comment