Автор Гілка: centos-5.5 ext4  (Прочитано 7489 раз)

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
centos-5.5 ext4
« : 2010-12-17 10:05:31 »
пергий раз маю справу з centos/// щоб довго не шукати спитаю тут ..

дали мені сервер cetndo-5.5 але з файловою системою ext3 /// а я дуже хочу ext4  або  xfs ???
шось можна зробити ?? про xfs -понятно треба перевстановлявати тільки,..
а як з ext4 в centos-i  , чи можна якось змігрувати з ext3 на ext4 ?? чи там досі нема її підтримки  ?!!!

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Re: centos-5.5 ext4
« Відповідей #1 : 2010-12-17 12:40:48 »
найшов шо в 5.5  (ше з часів 5.3) вже є підтримка ext4// .. треба тільки пекати доставити.. і можна конвертувати..
старі файли будуть в ext3 а нові в ext4 вже...
думаю зара  так і спробую..
як думаюте толк з того буде.. бо я то все задумав зараз підвищення продутивності..  як не як а ext4 значно швидша ... ???
« Змінено: 2010-12-17 12:41:53 від vova07 »

Відсутній anatolijd

  • Графоман
  • ****
  • дописів: 325
  • Карма: +0/-0
Re: centos-5.5 ext4
« Відповідей #2 : 2010-12-17 22:00:50 »
hint: якщо в вас раптом /boot не є окремим розділом, то не забудьте зробити

Цитата
mkinitrd -v --with=ext4 /boot/initrd-`uname -r`.img `uname -r`

, інакше ризикуєте при наступному ребуті отримати непідйомну систему ;)

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Re: centos-5.5 ext4
« Відповідей #3 : 2010-12-20 09:43:32 »
аще підкажіть,  що буде коли  вийде нова версія центосу і я захочу обновити.. в мене ядро обновиться (включно з initrd) з підтримкою ext4 чи знову треба буде виконати цю команду ?

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Re: centos-5.5 ext4
« Відповідей #4 : 2010-12-20 15:35:59 »
нв віртуалці  перейшов з ext3 на ext4 .. і обновив ядро..
після чого не вантажиться система... запускається командний рядок grub-а
там вручну прописавши можу завантажити старе ядро.. нове не можу..
 нашукав  що треба grub превстановити .. але не виходить
grub-install hd0

The file /boot/grub/stage1 not read correctly
« Змінено: 2010-12-20 15:36:33 від vova07 »

Відсутній anatolijd

  • Графоман
  • ****
  • дописів: 325
  • Карма: +0/-0
Re: centos-5.5 ext4
« Відповідей #5 : 2010-12-20 16:43:16 »
grub-install hd0  ?

можливо назва девайсу коректна, спробуйте знайти правильну

grub>find /boot/grub/stage1


або
# df /boot
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1               101086     17892     77975  19% /boot

# /sbin/grub-install /dev/sda
« Змінено: 2010-12-20 16:44:06 від anatolijd »

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Re: centos-5.5 ext4
« Відповідей #6 : 2010-12-20 17:03:22 »
перепробува різноманітні варінати ...!!! (вже пів дня бавлюся)

диск в системі бачиться як  hda
(пишу по памяті)

grub> root (hd0,0)
grub> setup (hd0)

grub-install --recheck --no-floppy  /dev/hda  (hda1,hd0  - це я вже від безнадійностй пробував... )

в під livecd + chroot /// також не виходить..

буду рухатися в сторну первстановлення того центосу.. і /boot на окремий розділ ext3 ... (зараз в віртуалці спробую)




Відсутній anatolijd

  • Графоман
  • ****
  • дописів: 325
  • Карма: +0/-0
Re: centos-5.5 ext4
« Відповідей #7 : 2010-12-20 18:24:24 »
hd0 - так іменуються диски в grub-shell

спробуйте бутнутись зі старим ядром, отримайте повніцінний bash, і в шелі виконайте інсталл

# /sbin/grub-install /dev/sda

« Змінено: 2010-12-20 18:26:55 від anatolijd »

Відсутній anatolijd

  • Графоман
  • ****
  • дописів: 325
  • Карма: +0/-0
Re: centos-5.5 ext4
« Відповідей #8 : 2010-12-21 01:18:24 »
хм, спробував на віртуальній машині, щоправда /boot окремим розділом
мінімальний Contos-5.5, ядро 2.6.18-194.11.1
конвертував в ext4 послідовно /(root partition)  та /boot .
Після цього обновив обновив ядро і (як і сподівався) система не піднялась. Але це не важко пофіксити.

диски отакі :
Цитата
[root@ext4 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       18G  1.3G   17G   7% /
/dev/sda2             996M   34M  911M   4% /tmp
/dev/sda1              99M   31M   67M  32% /boot
tmpfs                 125M     0  125M   0% /dev/shm

Послідовність дій:


конвертуєм /

Цитата
#uname -r
2.6.18-194.11
# cp /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img.old
# vi /etc/fstab
# mkinitrd -v -f --with=ext4 /boot/initrd-`uname -r`.img `uname -r`
# tune4fs -O extents,uninit_bg,dir_index,flex_bg -m 1 /dev/mapper/VolGroup00-LogVol00
# e4fsck /dev/mapper/VolGroup00-LogVol00
# reboot

під час рестарту просить зробити fsck для /  - виконуєм:
Цитата
# fsck -vDC0 /dev/mapper/VolGroup00-LogVol00
Після рестарту система піднялась.

Так само конвертуєм /boot :
Цитата
# tune4fs -O extents,uninit_bg,dir_index,flex_bg -m 1 /dev/sda1
# e4fsck /dev/sda1
# fsck -vDC0 /dev/sda1
# reboot

Після рестарту система піднімається.

Тепер оновлюєм ядро (yum update kernel), і ребут.
Ядро версії 2.6.18-194.26.1 , система валиться (що й очікувалось) з месиджем

Цитата
EXT3-fs (sda1): error: couldn't mount because of unsupported optional features (240)

Рестарт, в grub редагуєм опції ядра, додаємо 'rootfstype=ext4' , бутаєм - не допомагає.

Знову меню grub, завантажуємось з попереднім ядром 2.6.18-194.11.1  - система піднялась.
А отже якраз час спробувати перезібрати initrd з опцією '--with=ext4' для нового ядра:
, дивимся що в нас є :
Цитата
# ll /boot
total 25746
-rw-r--r-- 1 root root   69598 Aug 10 19:38 config-2.6.18-194.11.1.el5
-rw-r--r-- 1 root root   69598 Nov  9 13:23 config-2.6.18-194.26.1.el5
drwxr-xr-x 2 root root    1024 Dec 20 15:55 grub
-rw------- 1 root root 3451357 Dec 20 16:08 initrd-2.6.18-194.11.1.el5.img
-rw------- 1 root root 3412917 Dec 20 16:06 initrd-2.6.18-194.11.1.el5.img.old
-rw------- 1 root root 3451637 Dec 20 17:05 initrd-2.6.18-194.26.1.el5.img
drwx------ 2 root root   12288 Aug 12 03:15 lost+found
-rw-r--r-- 1 root root   80032 Mar 12  2009 message
-rw-r--r-- 1 root root  111264 Aug 10 19:39 symvers-2.6.18-194.11.1.el5.gz
-rw-r--r-- 1 root root  111264 Nov  9 13:24 symvers-2.6.18-194.26.1.el5.gz
-rw-r--r-- 1 root root  970453 Aug 10 19:38 System.map-2.6.18-194.11.1.el5
-rw-r--r-- 1 root root  970587 Nov  9 13:23 System.map-2.6.18-194.26.1.el5
-rw-r--r-- 1 root root 1876180 Aug 10 19:38 vmlinuz-2.6.18-194.11.1.el5
-rw-r--r-- 1 root root 1876564 Nov  9 13:23 vmlinuz-2.6.18-194.26.1.el5


2.6.18-194.26.1.el5, чудово, збираєм:
Цитата
# cp /boot/initrd-2.6.18-194.26.1.el5.img initrd-2.6.18-194.26.1.el5.img.old
# mkinitrd -f -v --with=ext4 /boot/initrd-2.6.18-194.26.1.el5.img 2.6.18-194.26.1.el5

Все.
Після рестарту на новому ядрі система піднялась, притому що кореневий і boot- розділи були конвертовані в ext4. Достатньо перезібрати initrd з модулем ext4.

Відтепер всі нові файли будуть писатись з екстентами, й іншими ext4 атрибутами. Старі файли залишаються з атрибутами ext3.
Покищо не пробував прогнати e4defrag, мабуть завтра перевірю.


Vova, ви робили такі ж кроки, чи якісь інші ?

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Re: centos-5.5 ext4
« Відповідей #9 : 2010-12-21 09:33:31 »
Цитата
Vova, ви робили такі ж кроки, чи якісь інші ?
звичайно не в такій послідовнсті.. але я робив наступне.. (все опишу по памяті.. )
поставив мінімальний centos на один розділ ...
успішно конвертнув його в ext4  // успішно сервер проходив перевагтаження.. !!!
потім обновив ядро... і не перевантажуючи (тобто я ше був на старому ядрі) додав ext4 в нове ядро  таким чином
mkinitrd -f --with=ext4 --with=ext3 (розумію що ця опція не потрібна, бо ext3 і так є в ядрі.. просто так було в одному із описів..) /boot/new_initrd.img new_kernel
після чого перевантажуюсь .. і мені не видає меню від grub-у ... так де я би міг вибрати яке ядро вантажити... нове чи старе ...
а командний рядок grub !!!!!!!
[b]grub>[/b]і все....

якщо я руками в цьому командному рядку від grub-а пропишу kernel=old_kernel initrd=old_initrd то я ще можу завантажити старе ядро... а от прописування таким самим чином нового ядра - не запустить його .... якийсь  format error ///

і grub-install, коли під старим ядром, не ставиться !!!!  різні помилки в залежності від того як його  ставити
stage1 not read correctlymismathced in stage1/stage2
find /boot/grub/stage1 видає hd0,0...
root (hd0,0) - нормально
setup (hd0) - помилка

зараз ще буду експеремнтувавти,.. може десь щось пропустив....
« Змінено: 2010-12-21 09:35:03 від vova07 »

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Re: centos-5.5 ext4
« Відповідей #10 : 2010-12-21 09:38:57 »
ще раз зробив.. все як ви пишите... тільки в мене знову тільки один розділ / ..
до оновлення ядра все чудово.. як тільки yum update kernel - повна "Ж..."
« Змінено: 2010-12-21 10:13:06 від vova07 »

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Re: centos-5.5 ext4
« Відповідей #11 : 2010-12-21 13:01:44 »
таки нарешті вдалося ...
спочатку / на ext4 ..  потім  kernel update а потім і  boot на ext4///
хоча дійї ті самі що і раніше... не до кінця понятно.. чи пускате таке в продакшн .. чи відмовитися від того мега супер-пупер серверного centos-у ..

Відсутній anatolijd

  • Графоман
  • ****
  • дописів: 325
  • Карма: +0/-0
Re: centos-5.5 ext4
« Відповідей #12 : 2010-12-25 00:28:58 »
vova07, а що саме вдалося ? вдалося одновити ядро на машині з одним дисковим роздіом ?

я щойно теж спробував систему де є один-єдиний розділ, і бачу ті самі граблі:

grub> find /boot/grub/stage1
 (hd0,0)

grub> geometry hd0

Error 11: Unrecognized device string

grub> geometry (hd0)
drive 0x80: C/H/S = 522/255/63, The number of sectors = 8388608, /dev/sda
   Partition num: 0,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 1,  Filesystem type unknown, partition type 0x82

grub> root (hd0,0)
 Filesystem type is ext2fs, partition type 0x83

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  15 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/boot/grub/stage2 /boot/grub/grub.conf"... failed

Error 6: Mismatched or corrupt version of stage1/stage2

grub>

Відсутній anatolijd

  • Графоман
  • ****
  • дописів: 325
  • Карма: +0/-0
Re: centos-5.5 ext4
« Відповідей #13 : 2010-12-25 01:29:40 »
для себе вирішив що далі копирсатись немає практичного сенсу бо , по-перше, рідко доводиться бачити системи в яких відсутній розділ /boot, по-друге - легше залишити /boot в ext3 і забути про нього. Конвертувати все в ext4 не бачу сенсу , конвертувати треба лише ті розділи де ext3 не справляється (типу /var, /home й інше по місцю).

Стосовно юзати ext4 в продакшні - то вам вирішувати.
Особисто я б ще рік пожив з XFS, а там вже можна й на ext4 переповзати (при потребі).

PS: RedHat 6 вийшов місяць тому, в нього ext4 - дефолтна ФС.



Відсутній Ign1111

  • Письменник
  • *****
  • дописів: 829
  • Карма: +0/-0
  • Linux 4ever!
Re: centos-5.5 ext4
« Відповідей #14 : 2010-12-25 11:50:45 »
по-друге - легше залишити /boot в ext3 і забути про нього.

Я взагалі не бачу сенсу конвертувати /boot в щось відмінне від ext2...
Linux. The future is open.