조각난 Ext3 볼륨 조각 모음을 위해 Synology CS407의 BusyBox 아래에 패키지를 추가하고 실행하시겠습니까? 어떻게?
노트: 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
이 두 링크의 단계와 교훈을 바탕으로 다음을 실행했습니다(중요 항목은 이중 별표와 굵은 글씨로 표시됨).
비지박스 버전:
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는 문제 없이 파일 시스템을 자동으로 복구("조각 모음")합니다.