Synology CS407의 BusyBox에서 조각난 Ext3 볼륨 조각 모음을 위해 패키지를 추가하고 실행하시겠습니까? 어떻게?
메모: Linux 파일 시스템이 조각화되지 않는다는 신화를 폭로합니다. http://www.webupd8.org/2010/03/install-defrag-defragmentation.html
그러나 그것은 일반적인 오해이고어떤 경우에는 Linux 파일 시스템의 조각 모음을 수행해야 합니다.. 이것은 심지어최근 게시물에서 Ubuntu 개발자가 확인했습니다.나는 몇 분 전에 우분투 포럼에서 ureadahead에 대해 우연히 발견했습니다.에서:우분투 포럼 게시물:http://ubuntuforums.org/showthread.php?t=1434502
이를 방지하는 유일한 방법은 디스크 조각 모음을 수행하는 것입니다.하지만 Linux 파일 시스템에는 조각 모음이 필요하지 않습니다!
누가 그런 말을 했는지는 심각한 착각입니다. 이것은 Linux에 대한 가장 흔한 신화 중 하나입니다.
그게 사실이야Linux 파일 시스템은 가능한 경우 inode 테이블 조각화를 방지합니다.. 이는 파일이 디스크 전체에서 분할(조각화)되는 방식과 해당 부분이 어디에 있는지에 대한 인덱스가 전체적으로 함께 유지되는 경향이 있음을 의미합니다.
그것은 좋은 일입니다. inode 테이블의 조각화는 다른 파일 시스템(해당 파일 시스템의 FAT 등)에서 큰 문제이므로 함께 유지하면 성능이 향상됩니다.
하지만데이터 자체는 여전히 조각화되어 있습니다., 그리고무작위 순서로 디스크 전체에 퍼집니다.. 불행하게도 부팅하는 동안 우리에게 필요한 데이터는 바로 이것입니다.
앞으로 우리가 하고 싶은 일 중 하나는 부팅 중에 필요한 항목에 대한 ureadahead 분석을 사용하여 조각 모음 도구에 공급하여 필요한 모든 것이 디스크의 하나의 큰 블록에 있도록 하는 것입니다.
업데이트:
분명히 CS407은 Marvel 프로세서 88f5281을 사용하므로 특별히 제작된 optware/entware와 같은 것이 먼저 필요할 수 있습니다. 가능하다면 이 방향으로 더 많은 안내를 해주시기 바랍니다.
https://forum.synology.com/enu/viewtopic.php?t=66550
https://forum.synology.com/enu/viewtopic.php?f=39&t=83186#p339475
이 2개 링크의 단계 및 교훈을 바탕으로 다음을 실행했습니다(중요 항목은 이중 Asterix로 표시되고 굵게 표시됨).
비지박스 버전:
BusyBox v1.16.1 (2011-04-08 10:15:04 CST) built-in shell (ash) Enter 'help' for a list of built-in commands.
명령줄 입력 및 출력:
CubeStation> /usr/syno/etc.defaults/rc.d/S80samba.sh stop
CubeStation> df
Filesystem 1K-blocks Used Available Use% Mounted on /dev/md0 2451064 478484 1870180 20% / /tmp 63396 288 63108 0% /tmp
/dev/md2 2879637816 2336710312 542825104 81% /volume1
CubeStation> unmount /volume1 -ash: unmount: not found
CubeStation> sudo unmount /volume1 -ash: sudo: not found
CubeStation> syno_poweroff_task
CubeStation> df
Filesystem 1K-blocks Used Available Use% Mounted on /dev/md0 2451064 478460 1870204 20% / /tmp 63396 284 63112 0% /tmp CubeStation> vgdisplay CubeStation> e2fsck -v -n -f /dev/md2
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity
/lost+found not found. Create? no
Pass 4: Checking reference counts Pass 5: Checking group summary information 1.41.12-1613: ********** WARNING: Filesystem still has errors **********
42150 inodes used (0.02%)
3618 non-contiguous files (8.6%)
20 non-contiguous directories (0.0%)
# of inodes with ind/dind/tind blocks: 20326/8705/71 595654428 blocks used (81.44%) 0 bad blocks 114 large files 36634 regular files 4434 directories 0 character device files 0 block device files 0 fifos 1 link 1073 symbolic links (1073 fast symbolic links) 0 sockets
- 저는 *Nix 전문가는 아니지만 CS 및 IT 배경 지식이 있고 명령줄에서 작업을 실행하는 데 능숙합니다. 많은 내용을 읽었지만 여기에 올바른 호환 패키지/구성 요소(이 시스템용) 및 단계를 함께 모아보고 싶습니다.
- 조각 모음을 실행할 수 있는 기능을 제공하는 일부 패키지/구성 요소가 부족한 것 같습니다.
- 설치해야 합니까/설치할 수 있습니까(위에 링크된 것)? 어느 것 & 어떻게?
- 어떻게 실행하는 것이 가장 좋습니까?
볼륨 FS 및 비연속 데이터를 조각 모음하려면 어떻게 해야 합니까?
답변1
인터넷에서 명령을 실행할 때 매뉴얼 페이지에서 해당 명령이 수행하는 작업을 교차 확인하는 것이 항상 좋은 생각입니다.
특정 경우에 e2fsck 명령은 다음과 같습니다.
e2fsck -v -n -f /dev/md2
이 명령이 무엇을 하는지 확인해 보면e2fsck 매뉴얼 페이지당신은 볼 수:
-n 파일 시스템을 읽기 전용으로 열고 모든 질문에 대해 '아니요'라고 대답합니다.. e2fsck를 비대화식으로 사용할 수 있습니다. (참고: -n 옵션 외에 -c, -l 또는 -L 옵션을 지정하면 파일 시스템이 읽기-쓰기로 열리므로 불량 블록 목록이 업데이트될 수 있습니다. 그러나 다른 옵션은 없습니다. 파일 시스템이 변경됩니다.)
따라서 -n 플래그가 수행하는 작업은 발견된 문제를 복구하지 않고 디스크 검사를 수행하는 것입니다. 문제를 복구하려면 이 플래그를 제거하는 것이 좋습니다. e2fsck가 발견한 각 문제에 대한 메시지를 받고 수리를 시도합니다. e2fsck가 프롬프트 없이 모든 것을 복구하도록 하려면 -p 플래그를 추가하십시오:
-p 질문 없이 파일 시스템을 자동으로 복구("정리")합니다.